Невозможно проанализировать JSON и извлечь значение - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок в Go lang и пытаюсь проанализировать JSON следующей формы и получить все объекты в массиве записей.

[
    {
        "records": [
         {"name":"value"},{"name":"value"}
        ]
    },
    {
        "records": [
         {"name":"value"},{"name":"value"}
        ]
    }
]

Я пытался использовать "github.com/tidwall/g json "библиотека, но не смог разобрать ее. Кто-нибудь может мне помочь с этим?

1 Ответ

3 голосов
/ 16 апреля 2020

Вы можете использовать encoding/json пакет. Сначала определите тип переменной, учитывая структуру данных вашего json. Затем используйте json.Unmarshal() для преобразования вашей строки json в вашу переменную.

Пример : для вашей заданной структуры я использовал []map[string][]map[string]string

Код:

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    myJsonString := `[
    {
        "records": [
         {"name":"value"},{"name":"value"}
        ]
    },
    {
        "records": [
         {"name":"value"},{"name":"value"}
        ]
    }
]`
    myStoredVariable := []map[string][]map[string]string{}
    json.Unmarshal([]byte(myJsonString), &myStoredVariable)
    fmt.Printf("%v\n", myStoredVariable[0]["records"][0]["name"])

}

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