精易论坛
标题:
基于开源项目《JSON CPP》的JSON解析引擎移植,支持库版。
[打印本页]
作者:
黑猫よ__
时间:
2016-7-21 13:21
标题:
基于开源项目《JSON CPP》的JSON解析引擎移植,支持库版。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,
Jsoncpp是个跨平台的开源库,下载地址:
http://sourceforge.net/projects/jsoncpp/
支持库以 v0.5.0 版本为基础进行了易语言版的移植和封装,现以支持源项目的大部分常用功能,并提供静态库,支持静态编译。
《JSON CPP》使用介绍:
支持库一共提供两个对象,
"JSONT::引擎"
,
"JSONT::节点"
,作用为:
JSONT::引擎
负责对JSON格式文本的解析以及生成
"JSONT::节点"
对象,提供3个命令:
JSONT::引擎.解析() 解析JSON格式文本,如果解析是成功的将返回真。
JSONT::引擎.取错误信息() 取出解析失败的原因。
JSONT::引擎.成功了吗() 原指令为: good()。
JSONT::节点
负责生成以及维护解析所获得的
"JSON树"
,并提供各个节点的访问操作,提供10个命令:
JSONT::节点.类型为() 检查指定的JSON节点是否为预估的类型,如果预估是正确的将返回真。
JSONT::节点.取类型() 获得指定JSON节点的类型,具体的数据类型可以参考,"#JSONT类型"常量。
JSONT::节点.取项值() 获得指定JSON节点的内容,支持的数据为: 整数型,无符号整数型,浮点型,文本型,逻辑型。
JSONT::节点.置项值() 设置知道JSON节点的内容,支持的数据为:
整数型,无符号整数型,浮点型,文本型,逻辑型。
JSONT::节点.取文本() 取出"JSON树"所对应的原始JSON格式文本。
JSONT::节点.取大小() 如果指定JSON节点为数组类型,将可以获得该数组的大小。
JSONT::节点.取对象() 如果知道JSON节点为对象类型,将可以获得该JSON对象。
...
《JSON CPP》语法介绍:
支持库提供一种类似于字典式的,节点描述语法,通过使用"[name][name]..."格式,以描述JSON节点位于JSON树中的具体位置。
[name] 表示JSON节点名称.
[index] 表示数组下标,下标从0开始。
[#number] 如果指定的JSON名称全部为数字,则需要在名称的前面加一个"#"号以示区别。
参考:
{
"uploadid": "UP000000",
"code": 100,
"msg": "",
"files": "",
"sharp":[
{"test1":"hello World","test2":"xxxxx"},
{"test1":"abcde","test2":"xxxxx"}
]
}
示例:
value = JSONT::节点.取项值("[uploadid]",#JSONT类型.文本型) //表示读取JSON树中的"uploadid"节点内容,节点类型为文本型。
value = JSONT::节点.取项值("[sharp][0][test1]",#JSONT类型.文本型) //表示读取JSON树中的"sharp"节点数组中第1个成员对象的"test1"节点内容,节点类型为文本型。
count = JSONT::节点.取大小("[sharp][0]") //表示读取"sharp"节点数组的大小
object = JSONT::节点.取对象("[sharp][0]") //表示读取"sharp"节点数组中第1个成员对象的值,返回类型为: JSONT::节点。
=====================================================================================
支持库下载:
黑猫JSON解析支持库1.0版.zip
(287.17 KB, 下载次数: 146)
2016-7-21 13:20 上传
点击文件名下载附件
下载积分: 精币 -2 枚
欢迎使用 , 祝您一帆风顺,心想事成!
如果你想了解,获得更多,更好的项目,或者作品,请关注黑猫的软件,技术,编程交流群:89456201.
新作品列表:
《Kirinoium》 浏览器,一款基于WebKit/Blink引擎的免费网页浏览器。
《Yaoon》 遥望浏览器,一款专注于填表,采集的网页浏览器,基于《Kirinoium
》的分支版本
。
《YaoonUI》 遥望浏览器,UI版,以Html5桌面应用,无缝Web交互为主要设计目标的浏览器,专门用于程序界面,Web应用搭载等方面,《Yaoon》的分支版本。
《JSON解析支持库》 基于优秀的开源项目《JSON CPP》的易语言移植版本。
《线程池支持库》 完全由本人自主设计的支持高并发,高负载,且非常简单的(只有6个命令)线程池。
作者:
qqq123123123
时间:
2016-7-21 13:27
前来支持一下!···
作者:
胆小的老虎
时间:
2016-7-21 14:53
论坛终于有大牛了
作者:
282134
时间:
2016-7-21 16:48
提示:
作者被禁止或删除 内容自动屏蔽
作者:
内个打杂滴
时间:
2016-7-21 18:33
效率呢??和水淼的模块比,效率如何???
作者:
玖龄后梦劭
时间:
2016-7-21 23:28
黑猫大大太帅了
作者:
huanzi360
时间:
2016-7-26 09:40
这个支持库很好很牛逼谢谢分享!
作者:
xh4528
时间:
2016-7-28 19:15
感谢分享,试试
作者:
周正
时间:
2016-8-4 11:17
好东西,支持啦!
作者:
周正
时间:
2016-8-4 11:25
貌似不支持黑月编译?要是能支持黑月编译就更好了;
作者:
黑白郎君
时间:
2016-10-18 17:13
要是能开源就更好了!
作者:
坏蜀黍
时间:
2016-11-3 15:16
用过N种json模块,几乎都有问题,只要我测试没问题的json模块,那真的可能是无BUG了
作者:
坏蜀黍
时间:
2016-11-3 16:43
解析速度真是太慢,就这速度 在完美也不敢用啊
作者:
hsg52052
时间:
2019-10-12 14:21
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4