Как мы можем прочитать файл JSON с языком программирования Go?

Это тоже смутило меня, потому что я исходил из фона C.

В C переменная - это место в памяти с определенным типом. Назначение переменной копирует данные в ячейку памяти переменной.

Но в Python переменные действуют скорее как указатели на объекты. Поэтому присвоение одной переменной другой не создает копию, она просто превращает это имя переменной в один и тот же объект.

0
задан shtb2708 5 March 2019 в 15:43
поделиться

1 ответ

Предполагая, что файл содержит динамические и неизвестные ключи и значения, и вы не можете смоделировать их в своем приложении. Затем вы можете сделать что-то вроде:


func main() {
    if os.Args[1] == "update-json-from-json" {
        ...
        jsonFile := readInput()

        var jsonKeys interface{}
        err := json.Unmarshal(jsonFile, &jsonKeys)
        functions.Check(err)


        ...
    }
}

, чтобы загрузить содержимое в empty interface, а затем использовать библиотеку го отражения ( https://golang.org/pkg/reflect/ [ 113]) для перебора полей, поиска их имен и значений и обновления их в соответствии с вашими потребностями.

Альтернативой является Unmarshal в map[string]string, но это не очень хорошо справится с вложенным JSON, хотя это может (но я не проверял это).

0
ответ дан SubXaero 5 March 2019 в 15:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: