小さなサンプルです。
Unmarshal
byte から instance を。
Unmarshal(main.go)
package main
import (
"encoding/json"
"fmt"
)
func main() {
var jsonBlob = []byte(`{"Name":"taro", "Age":42}`)
type Person struct {
Name string
Age int
}
var p Person
json.Unmarshal(jsonBlob, &p)
fmt.Println(p)
}
run
$ go run main.go
{taro 42}
Marshal
instance から byte を。
Marshal(main.go)
package main
import (
"encoding/json"
"fmt"
)
func main() {
type Person struct {
Name string
Age int
}
p := Person{Name: "maru", Age: 24}
b, _ := json.Marshal(p)
fmt.Println(b)
fmt.Println(string(b))
}
run
$ go run main.go
[123 34 78 97 109 101 34 58 34 109 97 114 117 34 44 34 65 103 101 34 58 50 52 125]
{"Name":"maru","Age":24}
以上となります。
(つづいて、 proto.Marshal/Unmarshal のサンプルをやりたいとおもっています。