如何在golang中编码url参数?

sha*_*ren 4 go

有没有编码 url 的 go 包?我需要在参数(类型在 map[string]interface{} 中输入)在 url 中传输之前对其进行编码。

也许参数喜欢:map[string]interface{}{"app_id":"you_api","app_sign":"md5_base_16","timestamp":"1473655478000"} 如何编码它以及编码结果是什么?

sha*_*ren 5

有一种方法可以得到它。

package main

import (
    "fmt"
    "net/url"
    "encoding/json"
)

func main() {
    m := map[string]interface{}{"app_id": "you_api", "app_sign": "md5_base_16", "timestamp": "1473655478000"}
    json_str, _ := json.Marshal(m)
    fmt.Println(string(json_str[:]))

    values := url.Values{"para": {string(json_str[:])}}

    fmt.Println(values.Encode())

}
Run Code Online (Sandbox Code Playgroud)