在Go语言中,我们可以使用标准库中的“net/url”包进行URL解析。当需要将URL参数转换为JSON时,我们可以使用“encoding/json”包进行JSON序列化和反序列化。
import (
"encoding/json"
"net/url"
"fmt"
)
func main() {
rawurl := "https://example.com/path?foo=bar&baz=qux"
parsedURL, err := url.Parse(rawurl)
if err != nil {
fmt.Println(err)
return
}
values := parsedURL.Query()
jsonData, err := json.Marshal(values)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(jsonData))
}在上面的代码中,我们首先解析了一个URL字符串,然后使用URL对象的“Query”方法获取其参数。接下来,我们使用“json.Marshal”方法将参数转换为JSON格式的字符串。最后,我们在控制台上打印了JSON字符串。运行程序后,应该会得到以下输出:
{
"baz": ["qux"],
"foo": ["bar"]
}如你所见,URL参数已经成功转换为JSON格式。