golang解析json文件

时间:2017-03-21 23:21:23

标签: json go

我想解析以下json文件并引用各个字段。

json文件有一些已知的模式:json文件有两个组级别。它将具有可变但未知数量的第一级组。每个第一级组都有两个第二级组:规则组和配置组。规则组和配置组都将具有未知数量的键:值对。

{
  { // Comment: first level group
    { // Comment: second level group
      "rule1": "doA"
      "rule2": "doB"
      "rule3": "doC"
      ...
    }
    {
      "config1": "goA"
      "configX": "goB"
      ...
    }
  }
  ...
  {
    {
      "rule100": "doAAA"
      "rule200": "doBBB"
      "rule300": "doCCC"
      ...
    }
    {
      "config100": "goAAA"
      "configX00": "goBBB"
      ...
  }
}

1 个答案:

答案 0 :(得分:3)

您可以将mapslice用于这些未知号码。

type FirstGroup struct {
    Rules Rules `json:"rules"`
    Configs Configs `json:"configs"`
}

type Rules map[string]string

type Configs map[string]string

https://play.golang.org/p/zCymz62B9K< - 此示例中的json是您的修改版本,因为您的json不是真的。