Как распарсить JSON на golang?

Распарсить JSON в Go можно с использованием встроенной библиотеки encoding/json. Вот подробный пример того, как это можно сделать:

1. Сначала нужно создать структуру, которая будет соответствовать структуре JSON-данных. Например, если у нас есть JSON-объект следующего вида:

{
    "name": "John",
    "age": 30,
    "email": "[email protected]"
}

Структура в Go может выглядеть так:

type Person struct {
    Name  string `json:"name"`
    Age   int    `json:"age"`
    Email string `json:"email"`
}

2. После определения структуры, можно начать процесс распаковки (unmarshalling) JSON-данных в структуру Go. Для этого создайте переменную типа Person:

var person Person

3. Затем, чтобы распарсить JSON-данные, используйте метод Unmarshal из пакета encoding/json. Передайте в этот метод байтовый массив с JSON-данными и указатель на переменную типа Person:

jsonData := []byte(`{
    "name": "John",
    "age": 30,
    "email": "[email protected]"
}`)

err := json.Unmarshal(jsonData, &person)
if err != nil {
    // Обработка ошибки
}

4. После успешного выполнения метода Unmarshal, JSON-данные будут распакованы в структуру person, и мы можем получить доступ к распарсенным значениям:

fmt.Println(person.Name)  // John
fmt.Println(person.Age)   // 30
fmt.Println(person.Email) // [email protected]

Таким образом, вы можете легко распарсить JSON-данные в Go, используя encoding/json. Не забудьте обработать возможные ошибки, связанные с неправильным форматом JSON или несоответствующей структурой данных.