对于这个请求GET http://localhost:8080/path?my_key%5B%5D=3&my_key%5B%5D=4&my_key%5B%5D=5
我无法从 my_key
获取数据。我尝试了 req.URL.Query()["my_key"]
。如果我将请求编码从 my_key%5B%5D=4&my_key%5B%5D=5
更改为 my_key=4&my_key=5
如何获取 my_key[]=value
形式的请求 URL>
最佳答案
使用 net/url包裹
package main
import (
"fmt"
"net/url"
)
func main() {
utmp := "http://localhost:8080/path?my_key%5B%5D=3&my_key%5B%5D=4&my_key%5B%5D=5"
u, err := url.Parse(utmp)
if err != nil {
panic(err)
}
fmt.Println(u.Query()["my_key[]"])
}
https://play.golang.org/p/t2O7KnUbZOA
您的 key 是 "my_key[]"
而不是 "my_key"
关于go - 如何在http请求中获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32217169/