|
分享例程
界面截图: |
|
备注说明: |
这是个牛掰的用易语言核心库打造的JSON解析和构造库 |
本帖最后由 brucelee0720 于 2015-7-8 11:42 编辑
这个模块中的object键值对象是通过易语言自带的 数据结构 支持库的 表 实现的,我上上一篇 RedisXY的贴子里有人提到过易语言的键值实现,用表对象 差不多是仅有的可靠的选择,保证没有使用 正则这些的哦。
对于超大文件解析神马的应该也问题不大,几百K,几M神马的应该没太大压力,几十M上百M没试过,速度应该也是很快的,只是,树形框控件加载就不行了,所以示例窗口里边的那个不适合太大量的数据塞进去,要测试大数据,就把显示在树形框里的方法注释掉,自己调试输出处理结果这些的。
例子
核心对象 引用
STJson :JSON 解析和生成 JSON 的核心类
STJsonValue :JSON 值对象
构造 JSON 对象
窗口程序集名 | 保 留 | 保 留 | 备 注 | (未填写程序集名) | | | | 变量名 | 类 型 | 数组 | 备 注 | 变量名 | 类 型 | 数组 | 备 注 | json | STJson | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | root | STJsonValue | | | children | STJsonValue | | | list | STJsonValue | | | jsonString | 文本型 | | |
list. Add (json. CreateStringValue (“猛龙”)) list. Add (json. CreateStringValue (“过”)) list. Add (json. CreateStringValue (“小沟”)) children. Put (“Jim”, json. CreateStringValue (“好孩子”)) children. Put (“Stone”, json. CreateStringValue (“大娃娃”)) root. Put (“string_value”, json. CreateStringValue (“I'm a good Boy” + #引号 + #换行符 + “ DD”)) root. Put (“bool_value”, json. CreateBoolValue (真)) root. Put (“long_value”, json. CreateLongValue (1 )) root. Put (“double_value”, json. CreateDoubleValue (1.8 )) root. Put (“test”, json. CreateNullValue ()) root. Remove (“test”) list. Add (json. CreateStringValue (“小白白”)) list. RemoveAt (list. Size ()) root. Put (“empty”, json. CreateNullValue ()) root. Put (“list”, list ) root. Put (“children”, children )jsonString = json. ToJsonString (root ) ‘// 这里生成的就是JSON格式文本了,这个方法有 4 个参数,可以控制生成的格式
生成JSON方法:json对象(STJson) 的 ToJsonString 方法为将 json值对象(STJsonValue) 转换为 JSON 文本。json对象包含了 创建 文本、数值、逻辑型、文本型 和 空 的 JSON 值对象。
解析JSON内容 变量名 | 类 型 | 静态 | 数组 | 备 注 | r | STJsonParseResult | | | v | STJsonValue | | | i | 整数型 | | |
v = json. Parse (textJson.内容, r ) 如果真 (r.stat = 假)信息框 (r.message, 0, “解析失败”)返回 ()
解析方法 json.Parse 的参数有两个,第一个是 JSON 文本,第二个是处理结果对象
当执行完 JSON 解析后,STJsonParseResult 为处理结果对象,内部有属性“stat”表示处理是否成功,“message”表示处理过程错的时候,错误的原因。
下载地址:
JSON模块源码.zip
(58.07 KB, 下载次数: 609)
|
评分
-
查看全部评分
|