Jason基于 Go 的 JSON 开发包
Jason 是一个 Go 语言用来处理 JSON 文档的开发包。Jason 的强项是解析 JSON 而不是生成 JSON。
示例代码:
root, err := jason.NewFromReader(res.Body) root.Get("name").String() root.Get("age").Number() root.Get("verified").Boolean() root.Get("education").Object() root.Get("friends").Array() //读取嵌套内容 root.Get("person", "name").String() root.Get("person", "age").Number() root.Get("person", "verified").Boolean() root.Get("person", "education").Object() root.Get("person", "friends").Array() //判断数值是否存在 root.Has("person", "name") root.Get("person", "name").Exists() //数值校验 root.Get("name").IsString() root.Get("age").IsNumber() root.Get("verified").IsBoolean() root.Get("education").IsObject() root.Get("friends").IsArray() root.Get("friends").IsNull() //循环 for _, friend := range person.Get("friends").Array() { name := friend.Get("name").String() age := friend.Get("age").Number() }
完整例子:
package main import ( "github.com/antonholmquist/jason" "log" ) func main() { exampleJSON := `{ "name": "Walter White", "age": 51, "children": [ "junior", "holly" ], "other": { "occupation": "chemist", "years": 23 } }j, _ := jason.NewObjectFromBytes([]byte(exampleJSON)) log.Println("name:", j.Get("name").String()) log.Println("age:", j.Get("age").Number()) log.Println("occupation:", j.Get("other", "occupation").String()) log.Println("years:", j.Get("other", "years").Number()) for i, child := range j.Get("children").Array() { log.Printf("child %d: %s", i, child.String()) } }
评论
Services_JSONPHP的JSON开发包
Services_JSON是一个JSON类。它提供了JSON专用的编码器(PHP数据到JSON)和解码器(JSON到PHP数据)功能。
Services_JSONPHP的JSON开发包
0
knl-jsonC++的JSON开发包
为KNL_Network的贡献产品。易于使用以及便于理解。使用NAMESPACE的概念而开发的独立运行JSON库依赖库:JsonCpp,无需额外下载任何库
knl-jsonC++的JSON开发包
0
LitJSONC#的JSON开发包
LitJSON是一个小型快速的用于处理JSON格式数据的C#和.NET的开发包。示例代码:usingLitJson;usingSystem;publicclassPerson{//Personmemb
LitJSONC#的JSON开发包
0
JSONKitObjective-C的JSON开发包
JSONKit是用Objective-C实现的一个高性能的JSON解析和生成库,支持iOS。下面是性能比较:ParsingSerializing23%FasterthanBinary.plist!54
JSONKitObjective-C的JSON开发包
0