|

分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,它基于ECMAScript规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率
《JSONCPP》是一个跨平台的开源库《https://github.com/open-source-parsers/jsoncpp》,用于C++处理JSON格式数据的开发包,
下面讲一下如何使用这个库对JSON格式数据进行反序列化。
例如:
{"key1": 100,"key2":true,"array":[{"key3":"1111"},{"key4":3.14}]}
代码:
变量名 | 类 型 | 静态 | 数组 | 备 注 | json | 文本型 | | | reader | JsonReader | | | root | JsonValue | | | key1 | 文本型 | | | key2 | 逻辑型 | | | key3 | 文本型 | | | key4 | 双精度小数型 | | |
json = #常量1 如果真 (reader. 从文本解析 (json, root ))  key1 = root. At (“key1”). asString () key2 = root. At (“key2”). asBool () key3 = root. At (“array”). Index (0 ). At (“key3”). asString () key4 = root. At (“array”). Index (1 ). At (“key4”). asDouble () 调试输出 (key1, key2, key3, key4 )
例如: //对于多层结构,以及数组的解析 {"root":{"child":{"title":"Hello World"}},"array":[{"key":"1111"},{"key":"2222"}]}
代码:
变量名 | 类 型 | 静态 | 数组 | 备 注 | json | 文本型 | | | reader | JsonReader | | | root | JsonValue | | | title | 文本型 | | | array | JsonValue | | | i | 整数型 | | | key | 文本型 | | |
json = #常量2 如果真 (reader. 从文本解析 (json, root ))  title = root. At (“root”). At (“child”). At (“title”). asString () 调试输出 (title )  array = root. At (“array”) 调试输出 (“数组成员数:”, array. Length ())  计次循环首 (array. Length (), i )  key = array. Index (i - 1 ). At (“key”). asString ()  调试输出 (i, key ) 计次循环尾 ()
例如: //解析复杂JSON
json.txt
(17.47 KB, 下载次数: 26)
代码:
变量名 | 类 型 | 静态 | 数组 | 备 注 | reader | JsonReader | | | root | JsonValue | | | data | JsonValue | | | 剧名 | 文本型 | | | 集名 | 文本型 | | | stream | JsonValue | | | i | 整数型 | | | 片源 | JsonValue | | | 分段文件 | JsonValue | | | j | 整数型 | | | 原始地址 | 文本型 | | | 如果真 (reader. 从文件解析 (取运行目录 () + “\json.txt”, root ))  data = root. At (“data”) 剧名 = data. At (“show”). At (“title”). asString () 集名 = data. At (“video”). At (“title”). asString () 调试输出 (剧名, 集名 ) stream = data. At (“stream”)  计次循环首 (stream. Length (), i )  片源 = stream. Index (i - 1 )   分段文件 = 片源. At (“segs”)   计次循环首 (分段文件. Length (), j )   原始地址 = 分段文件. Index (i - 1 ). At (“cdn_url”). asString ()   判断 (i = 1 )   调试输出 (“流畅 分段视频地址: ”, j, 原始地址 )   判断 (i = 2 )   调试输出 (“高清 分段视频地址: ”, j, 原始地址 )   判断 (i = 3 )   调试输出 (“超清 分段视频地址: ”, j, 原始地址 )              计次循环尾 () 计次循环尾 ()
======================================================================================
源代码:
黑猫 - 易版(JSONCPP).rar
(597.51 KB, 下载次数: 496)
文件说明:
libjson.dll , 这个文件是用于将C++版的《JSONCPP》转换为易语言可调用版本的类库,源代码在"HeimaoJson"文件夹中,采用VS2013 专业版编写Json , 这个文件夹为编译好的《JSONCPP》静态库以及头文件夹Heimao Jsoncpp Library.e ,易版《JSONCPP》模块,编译即可使用,内附一个JSON解析的参考代码。
注: 如需转载本帖,请附著本帖地址!
补充内容 (2017-5-3 14:08):
支持库版本已更新: http://125.confly.eu.org/forum.php?mod=viewthread&tid=14015380
已支持生成JSON格式数据! |
评分
-
查看全部评分
|