Слияние кода завершено, страница обновится автоматически
一个模仿cjson的json go语言库
go get gitee.com/lutianming/ljson
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
}
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )