首页 > 解决方案 > 我可以使用什么结构来解码字符串数组的 JSON 数组?

问题描述

我有以下需要在 Golang 中解码的 JSON:

{
   "name":"test",
   "tags":[
      [
         "browser",
         "Chrome 28.0.1500"
      ],
      [
         "browser.name",
         "Chrome"
      ]
   ]
}

我带来了一些结构和一些变体,但它仍然不起作用:

type Response struct {
  Name string `json:"name"`
  Tags map[int][]string `json:"tags"`
}

https://play.golang.org/p/WuVEHDLCS6H

我怎样才能达到预期的效果?

标签: arraysjsongostructslice

解决方案


"tags"是包含值的数组的数组string。所以只需[][]string在 Go 中使用 a 对其进行建模:

type Response struct {
    Name string     `json:"name"`
    Tags [][]string `json:"tags"`
}

解组打印后response

fmt.Printf("%+v", response)

输出是(在Go Playground上试试):

{Name:test Tags:[[browser Chrome 28.0.1500] [browser.name Chrome]]}

推荐阅读