大家好,又见面了,我是你们的朋友全栈君。
易语言解析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段数据
其中添加了一个自定义数据类型。
运行效果如图
标签: 新手教程
<
易语言说说监控发布源码>>
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127293.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...