Почему json.Marshal создает пустые структуры в текстовом выводе JSON?
type Person struct {
name string
age int
}
p := Person{"Alice", 22}
jsonData, _ := json.Marshal(p)
fmt.Println(string(jsonData))
{}
Ответ
В выводе JSON будут присутствовать только экспортированные поля структуры Go.
type Person struct {
Name string // Изменено на заглавную N
Age int // Изменено на заглавную A
}
p := Person{"Alice", 22}
jsonData, _ := json.Marshal(p)
fmt.Println(string(jsonData))
{"Name":"Alice","Age":22}
Вы можете указать имя поля JSON явно с помощью тега json: .
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
p := Person{"Alice", 22}
jsonData, _ := json.Marshal(p)
fmt.Println(string(jsonData))
{"name":"Alice","age":22}
Читайте также:
Комментариев нет:
Отправить комментарий