]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/json: examples for Marshal and Unmarshal
authorAndrew Gerrand <adg@golang.org>
Mon, 19 Dec 2011 00:16:55 +0000 (11:16 +1100)
committerAndrew Gerrand <adg@golang.org>
Mon, 19 Dec 2011 00:16:55 +0000 (11:16 +1100)
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5493075

src/pkg/encoding/json/example_test.go [new file with mode: 0644]

diff --git a/src/pkg/encoding/json/example_test.go b/src/pkg/encoding/json/example_test.go
new file mode 100644 (file)
index 0000000..7f4a78c
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright 2011 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package json_test
+
+import (
+       "encoding/json"
+       "fmt"
+       "os"
+)
+
+// {"ID":1,"Name":"Reds","Colors":["Crimson","Red","Ruby","Maroon"]}
+func ExampleMarshal() {
+       type ColorGroup struct {
+               ID     int
+               Name   string
+               Colors []string
+       }
+       group := ColorGroup{
+               ID:     1,
+               Name:   "Reds",
+               Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
+       }
+       b, err := json.Marshal(group)
+       if err != nil {
+               fmt.Println("error:", err)
+       }
+       os.Stdout.Write(b)
+}
+
+// [{Name:Platypus Order:Monotremata} {Name:Quoll Order:Dasyuromorphia}]
+func ExampleUnmarshal() {
+       var jsonBlob = []byte(`[
+               {"Name": "Platypus", "Order": "Monotremata"},
+               {"Name": "Quoll",    "Order": "Dasyuromorphia"}
+       ]`)
+       type Animal struct {
+               Name  string
+               Order string
+       }
+       var animals []Animal
+       err := json.Unmarshal(jsonBlob, &animals)
+       if err != nil {
+               fmt.Println("error:", err)
+       }
+       fmt.Printf("%+v", animals)
+}