type TestObject struct {
kind string `json:"kind"`
id string `json:"id, omitempty"`
name string `json:"name"`
email string `json:"email"`
}
func TestCreateSingleItemResponse(t *testing.T) {
testObject := new(TestObject)
testObject.kind = "TestObject"
testObject.id = "f73h5jf8"
testObject.name = "Yuri Gagarin"
testObject.email = "Yuri.Gagarin@Vostok.com"
fmt.Println(testObject)
b, err := json.Marshal(testObject)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(b[:]))
}
Вот результат:
[ `go test -test.run="^TestCreateSingleItemResponse$"` | done: 2.195666095s ]
{TestObject f73h5jf8 Yuri Gagarin Yuri.Gagarin@Vostok.com}
{}
PASS
Почему JSON практически пуст?
json
go
marshalling
Дуг Кнесек
источник
источник
json
тега поля (как описано в последнем абзаце этого ответа).Примеры
источник
In Go, a name is exported if it begins with a capital letter
. Чтобы поместить это в контекст, посетите этот тур по Go BasicsВ голанге
======= Добавить детали
Сначала я пробую писать вот так
Компиляция golang не является ошибкой и не показывает предупреждения. Но ответ пуст, потому что что-то
После этого я поискал в google нашел эту статью
Это работа.
Надеюсь на помощь.
источник