我有一个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",以便我可以单独返回"响应".如何在不创建大型结构的情况下完成此操作?
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)
这是一个如何快速轻松地完成此操作的简短示例.步骤是; 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)
| 归档时间: |
|
| 查看次数: |
490 次 |
| 最近记录: |