gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:27:06 24 4
gpt4 key购买 nike

我有一个 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>
}
]
}
}

现在,在我的 Golang 应用程序中,我想快速删除“responseHeader”,以便我可以单独返回“response”。如何在不创建大型结构的情况下做到这一点?


编辑 1

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

var temp map[string]interface{}

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

result, err := json.Marshal(temp["response"])

最佳答案

这是一个非常简短的示例,说明如何快速轻松地执行此操作。步骤是;解码到通用 map[string]interface{} 然后,假设没有错误,仅编码您想要的内部对象。

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

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

return json.Marshal(temp["response"])

关于json - 在 golang 中没有结构的情况下对 JSON 数据进行最小修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35441254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com