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
}
]
}