英文:
How to get array in http request
问题
对于这个请求 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?
英文:
For this request GET http://localhost:8080/path?my_key%5B%5D=3&my_key%5B%5D=4&my_key%5B%5D=5
I can't get the data from my_key
. I tried req.URL.Query()["my_key"]
. I can get it if I change the request encoding to from my_key%5B%5D=4&my_key%5B%5D=5
to my_key=4&my_key=5
How can I get request URL's in form of my_key[]=value
答案1
得分: 3
使用 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[]"])
}
你的键是 my_key[]
而不是 my_key
。
英文:
Use the net/url package
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
Your key is "my_key[]"
not "my_key"
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论