Go - JSON
- ex. var p = Person{}; json.Marshal(p)
- json.marshal return byte slice contains long string wuthout extraneous

- Ex.data, err = json.MarshalIndent to format jaon. Use fmt.Printf(”%s”,data) to print to string

- Only exported fields are marshalled

- Field tags is a string of meta data associated at compile time with a field of a struct.
- Ex. type S struct {num int `json:“release”`, real bool `json:“ok,omitempty”`}
- omitempty indicate no output value if variable is zero value

- Unmarshal object. json.Unmarshal
- Ex. Unmarshal json to slice. (How the type is decided? Always slice?)
- Ex. type Person struct {Name string}; ps := json.Unmarshal(json)
- var titles []struct{ Title string }; if err := json.Unmarshal(data, &titles);

- Field of Struct used to unmarshal json must be capitalized. But map from json to struct is case insensitive

What to read next
Previous / Next
More like this