@dock.moore
В Go есть встроенная поддержка для работы с JSON. Следующие шаги помогут вам работать с JSON в Go:
- Сначала вам нужно импортировать пакет encoding/json:
- Чтобы преобразовать структуру данных в JSON, используйте функцию json.Marshal():
1
2
3
4
5
6
7
8
9
10
|
type Person struct {
Name string
Age int
}
person := Person{Name: "John", Age: 30}
jsonData, err := json.Marshal(person)
if err != nil {
// обработка ошибки
}
|
- Чтобы преобразовать JSON в структуру данных, используйте функцию json.Unmarshal():
1
2
3
4
5
|
var newPerson Person
err := json.Unmarshal(jsonData, &newPerson)
if err != nil {
// обработка ошибки
}
|
- Вы можете читать и записывать JSON из файлов. Например, чтение JSON из файла:
1
2
3
4
5
6
7
8
9
10
11
12
|
file, err := os.Open("data.json")
if err != nil {
// обработка ошибки
}
defer file.Close()
var person Person
decoder := json.NewDecoder(file)
err = decoder.Decode(&person)
if err != nil {
// обработка ошибки
}
|
- Вы также можете форматировать JSON для лучшей читабельности. Например:
1
2
3
4
|
jsonString, err := json.MarshalIndent(person, "", " ")
if err != nil {
// обработка ошибки
}
|
Это основы работы с JSON в Go. Более подробную информацию и дополнительные возможности вы можете найти в официальной документации по пакету encoding/json
в Go.