易语言解析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段数据

其中添加了一个自定义数据类型。

运行效果如图

标签: 新手教程

<

易语言说说监控发布源码>>

更多推荐

易语言解析html实例,易语言解析JSON教程