繁体   English   中英

如何在 golang 中访问 map 值

[英]How to access map values in golang

当我执行POST请求时,它会发送如下所示的raw-data

products%5B%22producs-1%22%5D%5B%22pink%22%5D%3D1%26products%5B%22products-2%22%5D%5B%22black%22%5D%3D2%26products%5B%22products-3%22%5D%5B%22green%22%5D%3D2%27

当我执行 URL ParseQuery 时,它显示 output 如下所示:

    body, err := ioutil.ReadAll(r.Body)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(body))
    params, _ := url.ParseQuery(string(body))
    fmt.Println(params)
map[products["products-1"]["black"]:[2] products["products-2"]["green"]:[2] products["products-3"]["pink"]:[1]]

我想访问products-1black2 (也包括其他字段),我该怎么做?

这是一种相当奇怪的格式,看起来它需要一个 PHP 脚本。 或者其他一些脚本语言。

ParseQuery function 生成了一个 map 但关键是一个看起来像“products[”products-2”][“green”]”的字符串

我认为最好有一个“产品” map 包含“属性” map 或类似的东西。 我不知道如何不费力气到达那里

尝试按键循环以获取按键:

  for k, v := range params { 
    fmt.Printf("key[%s] value[%s]\n", k, v)
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM