# ljson **Repository Path**: lutianming/ljson ## Basic Information - **Project Name**: ljson - **Description**: 一个模仿cjson的json go语言库 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-08-03 - **Last Updated**: 2024-09-10 ## Categories & Tags **Categories**: json-tools **Tags**: None ## README # ljson #### 介绍 一个模仿cjson的json go语言库 #### 安装 go get gitee.com/lutianming/ljson #### Example ``` package main import "gitee.com/lutianming/ljson" func main() { var data string = " { \"a\" : \"b\" , \"c\" : 5 , \"d\" : true , \"e\" : { \r\n \"f\" : { \"g\" : \"h\", \"i\":[{\"ab\":\"cd\"}, 6, 8] } } }" //var data string = " { \"e\" : { \"f\" : 5 } }" /*字符串解析为json object*/ root := ljson.Parse(data) if root != nil { print("sucess\n") } else { print("failed\n") } item := root.ObjectGetItem("c") if item.IsNumber() { print("c:", item.Valuenumber, "\n") } /*json object编码为字符串*/ encodestr := root.String() print("\nencodestr:", encodestr, "\n") encodebytes, n := root.Bytes() print("\nencodebytes:", string(encodebytes[:n]), "\n") /*创建json object*/ root = ljson.CreateObject() root.ObjectAddNumber("abc", 6548) root.ObjectAddString("def", "afwefefe") root.ObjectAddBool("flag", true) /*创建json array*/ array := ljson.CreateArray() root.ObjectAddItem("dict", array) array.ArrayAddString("54646") array.ArrayAddNumber(3654654) array.ArrayAddItem(ljson.CreateObject()) array.ArrayAddItem(ljson.CreateArray()) encodestr = root.String() print("\nencodestr:", encodestr, "\n") /*遍历array,并且可用于遍历object*/ //第一种方法,效率低 print("first\n") size := array.GetSize() for i := 0; i < size; i++ { item = array.ArrayGetItem(i) print(item.String(), "\n") } //第二种方法,相对第一种方法效率高 print("second\n") var iter *ljson.Json = nil for { iter = array.ItemNext(iter) if iter != nil { print(iter.String(), "\n") } else { break } } } ```