Так что я хочу, чтобы маршали данные в JSON. Основная структура выглядит следующим образом:json.Marshal ведет себя по-разному с двумя объектами (Go/Golang)
type DatabaseObject struct {
Preferences []int `json:"preferences"`
Texts map[string]string `json:"texts"`
Options map[string]string `json:"options"`
Gender string `json:"gender"`
EMail string `json:"email"`
}
Вот (рабочая) Детская площадка версия: https://play.golang.org/p/GI3nAo7L4a
Когда я использую этот код в моей программе, однако, результат сильно отличается. Вот мой код:
jsonObject, err := json.Marshal(DatabaseObject{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v", jsonObject)
Он печатает:
[123 34 112 114 101 102 101 114 101 110 99 101 115 34 58 110 117 108 108 44 34 116 101 120 116 115 34 58 110 117 108 108 44 34 111 112 116 105 111 110 115 34 58 110 117 108 108 44 34 103 101 110 100 101 114 34 58 34 34 44 34 101 109 97 105 108 34 58 34 34 125]
Кто-нибудь знает, почему json.Marshal здесь не работает? Это пустая структура, она должна выглядеть следующим образом
{"preferences":null,"texts":null,"options":null,"gender":"","email":""}
Я немного смущен, поэтому вы говорите, что если вы используете тот же код, что на игровой площадке, локально он не отображает тот же результат? –
Я отредактировал оригинальный вопрос и сделал его намного проще. – Traveller