From 505a4ee58ae59133f710ae8f9971b22b833f0840 Mon Sep 17 00:00:00 2001 From: Mark McGranaghan Date: Tue, 18 Sep 2012 18:38:07 -0700 Subject: [PATCH] some json --- README | 8 +++++++- src/xx-json.go | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/xx-json.go diff --git a/README b/README index 0b19521..77deb8c 100644 --- a/README +++ b/README @@ -47,7 +47,6 @@ gobyexample.com signups * gzip * listing files * regular expressions -* json parsing/unparsing * tls server * tls client * https server @@ -79,3 +78,10 @@ gobyexample.com signups * time * oauth for google domains * connection pool +* typed json parse/unparse + += program ideas +command line client for public json api +redis server +github webook receiver +campfire bot diff --git a/src/xx-json.go b/src/xx-json.go new file mode 100644 index 0000000..c8f3c16 --- /dev/null +++ b/src/xx-json.go @@ -0,0 +1,34 @@ +package main + +import ("encoding/json"; "fmt") + +func main() { + // data to bytes/string + bol, _ := json.Marshal(true) + fmt.Println(string(bol)) + + num, _ := json.Marshal(1) + fmt.Println(string(num)) + + str, _ := json.Marshal("gopher") + fmt.Println(string(str)) + + arr, _ := json.Marshal([]string{"apple", "peach", "pear"}) + fmt.Println(string(arr)) + + hsh, _ := json.Marshal(map[string]int{"apple": 5, "lettuce": 7}) + fmt.Println(string(hsh)) + + // string to data + byt := []byte(`{"Name":"Wednesday","Age":6,"Parents":["Gomez","Morticia"]}`) + var dat map[string]interface{} + err := json.Unmarshal(byt, &dat) + if err != nil { panic(err) } + fmt.Println(dat) + + name := dat["Name"].(string) + fmt.Println(name) + + parents := dat["Parents"].([]interface{}) + fmt.Println(parents) +}