From 5ede9df5a0905e79a1ed8d2be75d6c4f2e7a1787 Mon Sep 17 00:00:00 2001 From: Andrew Gerrand Date: Mon, 19 Dec 2011 11:16:55 +1100 Subject: [PATCH] encoding/json: examples for Marshal and Unmarshal R=golang-dev, r CC=golang-dev https://golang.org/cl/5493075 --- src/pkg/encoding/json/example_test.go | 48 +++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/pkg/encoding/json/example_test.go diff --git a/src/pkg/encoding/json/example_test.go b/src/pkg/encoding/json/example_test.go new file mode 100644 index 00000000000..7f4a78c315a --- /dev/null +++ b/src/pkg/encoding/json/example_test.go @@ -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) +}