Golang encoding: Difference between revisions
From wikinotes
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Serializing and Deserializing objects. | |||
= Interface = | = Interface = | ||
<blockquote> | <blockquote> | ||
The encoding libraries share a common interface, for serialization/deserialization.<br> | The encoding libraries mostly share a common interface, for serialization/deserialization.<br> | ||
Optional encoding-specific information is stored in struct-tags.<br> | Optional encoding-specific information is stored in struct-tags.<br> | ||
Some encodings (ex. xml) have additional encoding-specific semantics. | Some encodings (ex. xml) have additional encoding-specific semantics. |
Latest revision as of 13:50, 26 June 2022
Serializing and Deserializing objects.
Interface
The encoding libraries mostly share a common interface, for serialization/deserialization.
Optional encoding-specific information is stored in struct-tags.
Some encodings (ex. xml) have additional encoding-specific semantics.serialize
type User struct { Id: int `json:"id" xml:"id"` Name: string `json:"name" xml:"name"` } user := User{1, "will"} bytes, err := json.Marshall(&user)deserialize
var mapping map[string]int var serialized := []byte(`{"a": 1}`) json.Unmarshall(serialized, &mapping)
Libraries
Builtin
golang encoding/json golang encoding/xml golang encoding/csv