Go: json.Marshal(struct) returns {}

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[:])) }

Here is the output:
[ `go test -test.run="^TestCreateSingleItemResponse$"` | done: 2.195666095s ] {TestObject f73h5jf8 Yuri Gagarin Yuri.Gagarin@Vostok.com} {} PASS

Why is the JSON essentially empty?

Write your answer...

Never miss a post from Aditya Agrawal, when you sign up for Ednsquare.