CCHTTP内置的JSON是YYJSON,YYJSON是广告法都拦不住的JSON引擎,它是目前易语言圈内速度最快的JSON库。
易语言版YYJSON开源地址:源码下载 开源贴
从上面的源码下载地址及开源贴中的示例源码,你基本已经可以学会使用JSON了,下面写一些注意事项及常见的JSON构建方法:
路径语法
传统的JSON语法一半使用“.” 表示层级,“[ ]”表示数组成员,例如:user.name 指用户的昵称,list[1].name 指列表中第一个用户的昵称。
在yyjson中,一切均为“/”,这极大的简化了我们的语法,例如上面提到的传统语法与yyjson语法的区别:
user.name → user/name
list[1].name → list/1/name
在yyjson中,数组是从0开始的,即0表示第一个数组元素。
转义字符
当我们遇到路径中的节点包含“/”或“~”时需要对其进行转义
具体为:“~0” =“ ~” “~1” =“/”
注意事项
闪退可根据以下说明自查
- 不可将局部变量直接赋值给程序集或全局变量
因为直接赋值后若局部变量被销毁,再调用全局变量会找不到原json内容,造成崩溃。
正确用法:全局变量.解析(局部变量.到JSON())
- 不可将全局变量或程序集变量直接赋值给局部变量,并在局部变量销毁后调用全局变量或程序集变量
因为局部变量销毁后,相当于全局变量或程序集变量也销毁了,再调用会造成崩溃。
正确用法:
①局部变量=全局变量.取引用对象() //这种写法性能极高,操作局部变量的同时会改变全局变量的值
②局部变量.解析(全局变量.到JSON()) //这相当于两个完全独立的变量
构建常见JSON
简单构建数组
.版本 2.局部变量 json, json对象.局部变量 item, json对象item.置文本 (“项目”, “CCHTTP”, )item.置整数 (“id”, 1, )item.置逻辑 (“已完成”, 真, )json.添加成员 (item, “项目列表”)item.置文本 (“项目”, “酷C发卡网”, )item.置整数 (“id”, 2, )item.置逻辑 (“已完成”, 真, )json.添加成员 (item, “项目列表”)item.置文本 (“项目”, “月入百万”, )item.置整数 (“id”, 3, )item.置逻辑 (“已完成”, 假, )json.添加成员 (item, “项目列表”)
{"项目列表": [{"项目": "CCHTTP","id": 1,"已完成": true},{"项目": "酷C发卡网","id": 2,"已完成": true},{"项目": "月入百万","id": 3,"已完成": false}]}
