Unmarshaling JSON в структуру с поддержкой различных типов для значения атрибута - PullRequest
0 голосов
/ 27 июня 2018

Есть ли в Голанге возможность демонтировать JSON-объект в структуру, в которой JSON-объект имеет атрибут, который может быть либо объектом, либо массивом (или, как правило, поддерживает различные типы) в разных случаях?

например, в одном случае JSON может выглядеть так:

{
    "config": {
        "source": "config.cnf"
    }
}

но в то же время JSON может быть таким же:

{
    "config": [ "value1", "value2" ]
}

если так, как будет выглядеть структура?

1 Ответ

0 голосов
/ 27 июня 2018

Вы должны декодировать на пустой интерфейс (interface{}). Поскольку у него нет методов, его реализует каждый тип.

type Data struct {
    Config interface{}
}

Я создал детскую игровую площадку , демонстрирующую это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...