Source file
doc/progs/json4.go
1
2
3
4
5 package main
6
7 import (
8 "encoding/json"
9 "log"
10 "reflect"
11 )
12
13 type FamilyMember struct {
14 Name string
15 Age int
16 Parents []string
17 }
18
19
20
21 func Decode() {
22 b := []byte(`{"Name":"Bob","Age":20,"Parents":["Morticia", "Gomez"]}`)
23 var m FamilyMember
24 err := json.Unmarshal(b, &m)
25
26
27
28 if err != nil {
29 panic(err)
30 }
31
32 expected := FamilyMember{
33 Name: "Bob",
34 Age: 20,
35 Parents: []string{"Morticia", "Gomez"},
36 }
37
38 if !reflect.DeepEqual(expected, m) {
39 log.Panicf("Error unmarshaling %q, expected %q, got %q", b, expected, m)
40 }
41 }
42
43 func main() {
44 Decode()
45 }
46
View as plain text