在没有golang结构的情况下对JSON数据进行最小的修改

Hen*_*zén 2 json solr go

我有一个JSON格式的solr响应,如下所示:

 {
  "responseHeader": {
    "status": 0,
    "QTime": 0,
    "params": {
      "q": "solo",
      "wt": "json"
    }
  },
  "response": {
    "numFound": 2,
    "start": 0,
    "docs": [
      {
          <Large nested JSON element>
      },
      {
          <Large nested JSON element>
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,在我的Golang应用程序中,我想快速删除"responseHeader",以便我可以单独返回"响应".如何在不创建大型结构的情况下完成此操作?


编辑1

evanmcdonnal的答案是这个问题的解决方案,但它有一些小错字,这是我最终使用的:

var temp map[string]interface{}

if err := json.Unmarshal(body, &temp); err != nil {
    panic(err.Error())
}

result, err := json.Marshal(temp["response"])
Run Code Online (Sandbox Code Playgroud)

eva*_*nal 5

这是一个如何快速轻松地完成此操作的简短示例.步骤是; map[string]interface{}然后,在没有错误的情况下解组通用,只编组你想要的内部对象.

var temp := &map[string]interface{}

if err := json.Unmarshal(input, temp); err != nil {
     return err;
}

return json.Marshal(temp["response"])
Run Code Online (Sandbox Code Playgroud)