У меня есть файл JSON, хранящийся на локальном компьютере. Мне нужно прочитать его в переменной и пропустить его, чтобы получить значения объекта JSON. Если я использую команду Marshal после прочтения файла с использованием метода ioutil.Readfile, он дает некоторые числа в качестве вывода. Это мои несколько неудачных попыток,Как мы можем прочитать json-файл как объект json в golang
Попытка 1:
plan, _ := ioutil.ReadFile(filename) // filename is the JSON file to read
var data interface{}
err := json.Unmarshal(plan, data)
if err != nil {
log.Error("Cannot unmarshal the json ", err)
}
fmt.Println(data)
Он дал мне следующую ошибку,
time="2016-12-13T22:13:05-08:00" level=error msg="Cannot unmarshal the json json: Unmarshal(nil)"
<nil>
Попытка 2: Я пытался сохранять значения в формате JSON в структуры, а затем с помощью MarshalIndent
generatePlan, _ := json.MarshalIndent(plan, "", " ") // plan is a pointer to a struct
fmt.Println(string(generatePlan))
Это дает мне вывод как строку. Но если я передам вывод в строку, тогда я не смогу его закодировать как объект JSON.
Как мы можем прочитать файл JSON как объект JSON в golang? Можно ли это сделать? Любая помощь приветствуется. Заранее спасибо!