go - 如何在http请求中获取数组

标签 go

对于这个请求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/

相关文章:

go - 多个数据库驱动程序场景 : passing interface as type

go - 简单如果不工作 go 模板

go - 匿名函数中的该例程如何工作?

go - APM Go 代理未向 APM 服务器发送数据

go - 如何设置持久的环境变量

python - AttributeError : dlsym(0x7fc4cfd563b0, add_all_items_to_map): symbol not found;使用 C 从 Python 运行 Go

encoding - 如何在 Go 中持久化或编码链接数据结构?

xml - 如何将数据映射转换为XML文件

go - 从 zipkintracer 获取 traceId

go - 一个套接字到达多个地址