易语言解析JSON教程
本文由 applek 于 2015-7-7 17:25 发布在 易语言教程
现在很多数据都是为json返回,如果用正则的话显得太麻烦,下面果核源码网就带来json解析教程
首先需要用到工具:
精易模块3.6以上版本:
json解析工具:
首先我们要有一段json,这儿拿QQ留言json测试。
下载地址:
下面将代码复制到工具,如图所示
然而右边并没有解析出来
原因是这个不是标准的json,标准的json为{内容}
可以看到它多了"_Callback(” ,尾部多了“);”,这个代码必须删除。首尾都要删除
有人只删除了头部,就能解析了就没有删除尾部,这个是错误的做法,一定要删除尾部,不然易语言里面是不能解析的!
删除后效果如图所示
我们可以看到,里面我们需要的数据为commentList那十个对象数组,展开效果如图
我们可以看到,如此多的数据,其中各项数据如下:
id:留言ID,删除留言时提供的序号
pubtime:留言时间
uin:对方QQ
nickname:对方昵称,有备注的话则显示备注
htmlContent:留言内容(html格式)
ubbContent:留言内容(ubb格式)
既然了解了这么多,我们就开始解析了
打开易语言,新建窗口程序,建立一个文本框,一个超级列表框,一个按钮
添加精易模块,我们在按钮事件开始写代码
.版本 2 .数据类型 留言信息 .成员 uin, 文本型 .成员 id, 文本型 .成员 ubbcontent, 文本型 .成员 htmlconcent, 文本型 .成员 nickname, 文本型 .版本 2 .支持库 spec .支持库 iext .局部变量 json, 类_json .局部变量 返回json, 类_json .局部变量 json数量, 整数型 .局部变量 i, 整数型 .局部变量 单一数据, 文本型 .局部变量 留言数据, 留言信息, , "0" .局部变量 单一留言数据, 留言信息 .局部变量 i2, 整数型 调试输出 (json.解析 (编辑框1.内容)) 返回json = json.取属性 (“data”) json数量 = 返回json.成员数 (“commentList”) .计次循环首 (json数量, i) 单一数据 = 返回json.取成员文本 (i - 1, “commentList”, 真) 单一留言数据.id = 文本_取出中间文本 (单一数据, “id” + #引号 + “:” + #引号, #引号) 单一留言数据.uin = 文本_取出中间文本 (单一数据, “uin” + #引号 + “:”, “,”) 单一留言数据.nickname = 文本_取出中间文本 (单一数据, “nickname” + #引号 + “:” + #引号, #引号) 单一留言数据.htmlconcent = 文本_取出中间文本 (单一数据, “htmlContent” + #引号 + “:” + #引号, #引号) 单一留言数据.ubbcontent = 文本_取出中间文本 (单一数据, “ubbContent” + #引号 + “:” + #引号, #引号) 加入成员 (留言数据, 单一留言数据) .计次循环尾 () i = 0 .计次循环首 (取数组成员数 (留言数据), i) i2 = 超级列表框1.插入表项 (, 到文本 (i), , , , ) 超级列表框1.置标题 (i2, 1, 留言数据 [i].id) 超级列表框1.置标题 (i2, 2, 留言数据 [i].uin) 超级列表框1.置标题 (i2, 3, 留言数据 [i].nickname) 超级列表框1.置标题 (i2, 4, 留言数据 [i].htmlconcent) 超级列表框1.置标题 (i2, 5, 留言数据 [i].ubbcontent) .计次循环尾 ()我们目标解析的是编辑框1的json,到时候直接复制到编辑框即可
我们解析后目标数据为data中的commentList那10段数据
其中添加了一个自定义数据类型。
运行效果如图
标签: 新手教程
<<易语言BackInC驱动级模拟按键源码
易语言说说监控发布源码>>