路径语法
传统的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()) //这相当于两个完全独立的变量