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, 下载次数: 145)
|