1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lutianming-ljson

Клонировать/Скачать
README.md 1.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
lutianming Отправлено 11.01.2022 15:54 61eabe9

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
		}

	}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lutianming-ljson.git
git@api.gitlife.ru:oschina-mirror/lutianming-ljson.git
oschina-mirror
lutianming-ljson
lutianming-ljson
master