如何在紫金桥跨平台软件里实现Json数据解析
Json说明
【如何在紫金桥跨平台软件里实现Json数据解析】JSON是一种轻量级的数据交换格式。
JSON建构于两种结构:①“名称/值”对的集合 ②值的有序列表(也就是数组)
JSON具有以下这些形式:
①对象
对象是一个无序的“‘名称/ 值’对”集合。一个对象以“ { ”(左括号)开始,“ } ”(右括号)结束。每个“名称”后跟一个“ : ”(冒号);“‘名称 / 值’ 对”之间使用“ , ”(逗号)分隔。
例如:{"a":"1","b":"2"}
文章图片
②数组
数组是值(value)的有序集合。一个数组以“ [ ”(左中括号)开始,“ ] ”(右中括号)结束。值之间使用“ , ”(逗号)分隔。值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
例如:[123,"abc",{"a":"1","b":"2"}]
文章图片
Json组件的使用
本组件对象无需画面创建,脚本里直接声明使用。ObJson json;
组件提供非常丰富的函数用于解析和修改Json数据,具体函数方法说明可以参考文末附件,脚本助手里也可查看函数列表和说明。
文章图片
Json解析示例
Json示例内容:
{
"title": "我是紫金桥跨平台软件",
"网址": "http://www.realinfo.cc/",
"func": "json解析演示",
"curyear": 2021,
"info": ["牛逼的数据引擎!", "强悍的跨平台能力!", "H5发布奥利给!", "给力的内置SQL查询!", {
"备注": ["哈哈哈", "我很帅"]
}],
"大家一起学习": {
"qq群": "522632608"
}
}
文章图片
在紫金桥跨平台软件里,将上面的json数据解析出来,并用树形组件显示出来。
实现脚本:
ObJson json;
json.FromJsonString(edit.Text);
//导入json字符串
if json.IsEmpty()==1 then
return 0;
endif
tree.Append("","root","Root");
tree.Append("root","title","title:"+json.GetString("title"));
//获取指定对象里Key的值
tree.Append("root","url","网址:"+json.GetString("网址"));
tree.Append("root","func","func:"+json.GetString("func"));
tree.Append("root","curyear","curyear:"+ToString(json.GetInt("curyear")));
tree.Append("root","info","info");
tree.Append("root","大家一起学习","大家一起学习");
objson json2;
json2.FromJsonString(json.GetObjText("大家一起学习"));
//GetObjText获取Key的Json对象
tree.Append("大家一起学习","QQ","QQ群:"+json2.GetString("qq群"));
json2.FromJsonString(json.GetObjText("info"));
tree.Append("info","v0",json2.GetArrString(0));
//获取数组里的字符串值
tree.Append("info","v1",json2.GetArrString(1));
tree.Append("info","v2",json2.GetArrString(2));
tree.Append("info","v3",json2.GetArrString(3));
json2.FromJsonString(json2.GetArrObjText(4));
//GetArrObjText获取数组里的Json对象
json2.FromJsonString(json2.GetObjTextByIndex(0));
tree.Append("info","beizhu","备注");
tree.Append("beizhu","beizhu1",json2.GetArrString(0));
tree.Append("beizhu","beizhu2",json2.GetArrString(1));
实现效果:
文章图片
示例工程及组件说明文件请参考紫金桥知识库里原文章。
原文章地址:紫金桥知识库
推荐阅读
- 任时光绽放成六月繁花
- 我从来不做坏事
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 樱花雨
- 如何寻找情感问答App的分析切入点
- 拍照一年啦,如果你想了解我,那就请先看看这篇文章
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 人如果没梦想,和咸鱼有什么区别(自媒体时代把握住就能咸鱼翻身)
- 如何在Mac中的文件选择框中打开系统隐藏文件夹