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” =“/”

注意事项

闪退可根据以下说明自查

  1. 不可将局部变量直接赋值给程序集或全局变量

因为直接赋值后若局部变量被销毁,再调用全局变量会找不到原json内容,造成崩溃。
正确用法:全局变量.解析(局部变量.到JSON())

  1. 不可将全局变量或程序集变量直接赋值给局部变量,并在局部变量销毁后调用全局变量或程序集变量

因为局部变量销毁后,相当于全局变量或程序集变量也销毁了,再调用会造成崩溃。
正确用法:
①局部变量=全局变量.取引用对象() //这种写法性能极高,操作局部变量的同时会改变全局变量的值
②局部变量.解析(全局变量.到JSON()) //这相当于两个完全独立的变量

构建常见JSON

简单构建数组

  1. .版本 2
  2. .局部变量 json, json对象
  3. .局部变量 item, json对象
  4. item.置文本 (“项目”, “CCHTTP”, )
  5. item.置整数 (“id”, 1, )
  6. item.置逻辑 (“已完成”, 真, )
  7. json.添加成员 (item, “项目列表”)
  8. item.置文本 (“项目”, “酷C发卡网”, )
  9. item.置整数 (“id”, 2, )
  10. item.置逻辑 (“已完成”, 真, )
  11. json.添加成员 (item, “项目列表”)
  12. item.置文本 (“项目”, “月入百万”, )
  13. item.置整数 (“id”, 3, )
  14. item.置逻辑 (“已完成”, 假, )
  15. json.添加成员 (item, “项目列表”)
  1. {
  2. "项目列表": [
  3. {
  4. "项目": "CCHTTP",
  5. "id": 1,
  6. "已完成": true
  7. },
  8. {
  9. "项目": "酷C发卡网",
  10. "id": 2,
  11. "已完成": true
  12. },
  13. {
  14. "项目": "月入百万",
  15. "id": 3,
  16. "已完成": false
  17. }
  18. ]
  19. }