内容简介:第一次写 go 代码,研究了一下 json 解析。没想到事情还挺多。运行的结果
第一次写 go 代码,研究了一下 json 解析。没想到事情还挺多。
package main import ( "encoding/json" "fmt" "github.com/bitly/go-simplejson" ) type personInfo struct { Name string `json:"name"` Age int `json:"age"` Email string `json:"email" xml:"email"` } type personInfo1 struct { Name string `json:"name"` Email string `json:"email" xml:"email"` C string } func main() { // 创建数据 p := personInfo{Name: "Piao", Age: 10, Email: "piaoyunsoft@163.com"} // 序列化 data, _ := json.Marshal(&p) fmt.Println(string(data)) // 反序列化 var p1 personInfo1 err := json.Unmarshal([]byte(data), &p1) // 貌似这种解析方法需要提前知道 json 结构 if err != nil { fmt.Println("err: ", err) } else { fmt.Printf("name=%s, c=%s, email=%s\n", p1.Name, p1.C, p1.Email) } fmt.Printf("%+v\n", p1) // 反序列化 res, err := simplejson.NewJson([]byte(data)) if err != nil { fmt.Println("err: ", err) } else { fmt.Printf("%+v\n", res) } }
运行的结果
➜ test go run main.go {"name":"Piao","age":10,"email":"piaoyunsoft@163.com"} name=Piao, c=, email=piaoyunsoft@163.com {Name:Piao Email:piaoyunsoft@163.com C:} &{data:map[name:Piao age:10 email:piaoyunsoft@163.com]}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Node.js开发指南
郭家寶(BYVoid) / 人民邮电出版社 / 2012-7 / 45.00元
Node.js是一种方兴未艾的新技术,诞生于2009年。经过两年的快速变化,Node.js生态圈已经逐渐走向稳定。Node.js采用了以往类似语言和框架中非常罕见的技术,总结为关键词就是:非阻塞式控制流、异步I/O、单线程消息循环。不少开发者在入门时总要经历一个痛苦的思维转变过程,给学习带来巨大的障碍。 而本书的目的就是帮助读者扫清这些障碍,学会使用Node.js进行Web后端开发,同时掌握事件驱......一起来看看 《Node.js开发指南》 这本书的介绍吧!