JSON(JavaScript Object Notation, JS 工具简谱) 是一种轻量级的数据交流格式,我们一样平常会在api接口返回值的时候看到这种格式。

举个大略的例子,

Dim m,nm = URL.Get(\"大众http://api.qingyunke.com/api.php?key=free&appid=0&msg=你好\"大众)TracePrint mn=Encode.JsonToTable(m)traceprint n[\"大众content\"大众]

PHP如何获取key键按键精灵安卓版提取json里面的内容 Ruby

我们看一下调试输出的结果:

当前脚本第3行:{\公众result\"大众:0,\"大众content\公众:\公众不怎么好\"大众}

返回值便是我这篇文章讲到的json数据,由于json是交流格式,一样平常提取前找转换成table(表)格式,在上面例子中的代码提现便是,

n=Encode.JsonToTable(m)

转换成table往后,我们就可以用表的键值提取方法了。

来剖析一下返回值的形式:

{\"大众result\"大众:0,\"大众content\"大众:\"大众不怎么好\"大众}

一个{}包裹住所有内容,形式是 {“键名”:“键值”},对付多个键名中间用逗号分开。

获取的格式是:表名[\"大众键名\"大众]

例子中表名是n,键名content,那么获取的格式便是n[\公众content\"大众]

接下来在说一个轻微繁芜的例子

Dim m=url.get(\公众https://www.apiopen.top/novelSearchApi?name=%E7%9B%97%E5%A2%93%E7%AC%94%E8%AE%B0\"大众)TracePrint mdim y = Encode.JsonToTable(m)TracePrint y[\"大众data\"大众][1]

我们来看一下获取json数据的格式:

{\"大众code\"大众:200,\"大众msg\"大众:\公众成功!\"大众,\"大众data\公众:[\公众盗墓条记续9\公众,\"大众盗墓条记续集\"大众,\"大众盗墓条记之寻龙图\公众,\"大众盗墓条记12终极解密\"大众,\"大众盗墓条记之迷途\"大众,\"大众盗墓条记之寻仙\"大众,\"大众盗墓条记薄\"大众,\"大众盗墓条记续\"大众,\公众盗墓条记之咒语\"大众]}

json格式是{\"大众键名\公众:[\公众键值1\"大众,\公众键值2\"大众,\公众键值3\"大众]}

提取的格式:表名[\"大众键名\"大众][键值的编号]

这里面数据对应的最高层级是“data“,以是其他和data同级别的json数据就不用考虑了。

其余还有两种常见的格式,这里我就不举例了,直接把json格式和提取格式。

json格式是{\"大众键名1\"大众:{\"大众键名2\公众:\"大众键值\公众}}

提取格式:表名[\"大众键名1\"大众][\公众键名2\"大众]

这种是两个层级的,便是键名套键名的格式,当时里面还可以连续嵌套键名和键值,层级没有限定。

还有一种常见的是,上面两个的结合,

json格式是{\"大众键名1\"大众:[{\公众键名2\"大众:\"大众键值\公众}]}

提取的格式:表名[\公众键名1\公众][1][\"大众键名2\公众]

中间多了一个编号1,这里填写1是由于我们获取的内容是方括号里面的第一个内容,如果是多内容的情形,获取哪个就填写哪个的编号。

上面举得案例最多是三个层级的,那在很多api接口的返回值可能是多个层级的,那么获取的办法便是在上面的根本上连续今后填写对应的键值或者编号。

须要把稳的是:在提取数据的时候,一定不能看错层级,找准你要提取数据的最高层级,然后逐层提取对应的键值。

末了补充一句:虽然通篇都说的json数据,其他该当叫table数据提取。