Golang将JSON对象传递给函数

This is regarded the Selenium Web driver but I think it is not quite important.

I can set the browser name

caps := selenium.Capabilities{"browserName": "firefox"}
wd, _ := selenium.NewRemote(caps, "")

But for "proxy" ie:

caps := selenium.Capabilities{"proxy": "http://1.2.3.4:999"}
wd, _ := selenium.NewRemote(caps, "")

I have to pass a JSON Proxy Object which I absolutely have no idea how to create... I searched there and there, but still could not figure... Is it kind of struct? Or map.. or what... :-(

As I've said in the comment, you can use the form

selenium.Capabilities{
    "proxy": map[string]interface{}{
        "httpProxy": "http://1.2.3.4:999",
        // etc.
    }
}

Unstructured JSON is usually (un)marshalled through map[string]interface{}, and the type selenium.Capabilities is in fact just a map[string]interface{}.

See also: JSON and Go.