Как удалить многоуровневую карту - PullRequest
0 голосов
/ 02 марта 2020

У меня есть следующее JSON

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

Со следующим кодом go.

var cache map[string]interface{}
json.Unmarshal([]byte(res), &cache)
token := cache["token"]

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

Я могу удалить карту / интерфейс "line", и " данные "если я удалю activeAddons. Проблема в том, что я хотел удалить только data[activeAddons].

Возможно ли это? Или мне нужно найти другой путь?

1 Ответ

4 голосов
/ 02 марта 2020

да, это возможно, но сначала вы должны получить data и сказать go, что это тоже карта.

delete(cache, "line")
delete(cache["data"].(map[string]interface{}), "activeAddons")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...