go - 如何删除多级 map

标签 go

我有以下JSON

{
    "level": "WARN",
    "line": "247",
    "data": {
        "activeAddons": [
            {
                "name": "Measure",
                "type": 0
            }
        ],
        "code": "Sample",
        "id": 40,
        "name": "Sample TEST"
    },
    "method": "valid-clx"
}

随着下面的代码。
var cache map[string]interface{}
json.Unmarshal([]byte(res), &cache)
token := cache["token"]

delete(cache, "line")
delete(cache, "data[activeAddons]")

如果删除activeAddons,则可以删除“线”和“数据”的 map /界面。问题是,我只想删除data[activeAddons]

这可能吗?还是我需要寻找其他方法?

最佳答案

是的,这是可能的,但是您首先必须接收data并告诉go这也是一张 map 。

delete(cache, "line")
delete(cache["data"].(map[string]interface{}), "activeAddons")

关于go - 如何删除多级 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60483496/

相关文章:

templates - FuncMap 的多个模板

python - Golang Scrypt 解密

go - 如何用golang获取USB设备的序列号?

html - 在 Go Web 应用程序中渲染 CSS

google-app-engine - 意外的属性 static_dir :

go例程的golang顺序输出

go - 这是什么意思?

go - 我应该如何在golang中传递参数?

go - 如何将控制序列与输入字符串分开

go - 运行 .exe 时保持提示窗口打开 (windows)