什么是json,易语言操作json

什么是json

JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度

json是什么

JSON就是一串字符串 只不过元素会使用特定的符号标注。
{} 双括号表示对象
[] 中括号表示数组
“” 双引号内是属性或值
: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

所以 {“name”: “Michael”} 可以理解为是一个包含name为Michael的对象
而[{“name”: “Michael”},{“name”: “Jerry”}]就表示包含两个对象的数组

当然了,你也可以使用{“name”:[“Michael”,”Jerry”]}来简化上面一部,这是一个拥有一个name数组的对象

为什么要用json来操作

因为json的格式都有一定规律,如果不用json那么取其中数据就只能用取文本中间,或者正则。
远没有JSON格式来取方便快捷。

易语言json如何使用

举个例子

  1. {
  2. "errcode": "0",
  3. "msg": "",
  4. "servertime": "1573206215",
  5. "data":[
  6.  
  7. {
  8. "dwGroupId": "03862191",
  9. "dwSkuTotal":"115",
  10. "list":[
  11.  
  12. {
  13. "dwBeginTime":"1572486097",
  14. "dwEndTime":"1572572497",
  15. "dwRealTimePrice":"1.00",
  16. "dwRefPrice":"29.00",
  17. "dwDiscount":"3.44",
  18. "dwStockState":"0",
  19. "dwClassIdL1":"11729",
  20. "dwClassIdL2":"11730",
  21. "dwClassIdL3":"6911",
  22. "dwShopId":"980816",
  23. ...省略12万数据

当然上面这一堆肯定不好看。我们可以借助可视化的工具。
如下面网址
http://www.bejson.com/jsonviewernew/

得到下面视图

易语言中的JSON类型中操作类,(精益模块,很多模块都有JSON解析类)

然后得到的JSON数据。我们先解析

JSON.解析 (JSON数据)

这样我就可以直接取第一层的内容。

如errcode我么可以这样取

JSON.取通用属性(“errcode”)

如果errcode为整数型的话,我们需要转换下。我是建议全部数据,不管是整数还是文本,都统一转换为文本型。

因为如果是空的话。取出的数据转换为整数型的话。是为0.为了不必要的麻烦。都转到文本型比较。

 

如果取dwBeginTime

因为dwBeginTime是在list的下面。
data:后面跟着一个[。所以data是一个成员数组
所以我们需要先把data的数组取出来。
JSON.取属性 (“data”).成员数()

这样我们就可以把data的所有数组的成员数取出来(如果不需要取出数据的时候我们不要用取通用属性。而是取属性)

接着

JSON.取属性 (“data”).取成员(0).取属性 (“list”).取成员(0).取通用属性(“dwBeginTime”)

(注意这里的成员是从0开始。我是直接赋值,易语言的计次是从1开始)

说明。因为dwBeginTime,上一层是list下的0数组。list上面是是属于data下面的0数组

总结

掌握了JSON的用法,正对使用JSON返回的数据在多。我们也可以从容取出。
不需要掌握复杂的正则表达式。也不需要取中间文本这种初级取法。而且现在很多网址接口多数采用这种方式
PHP网页之类的也对JSON支持很好。常用的的就是JSON跟XML。如果采用API接口的话。

发表评论

邮箱地址不会被公开。 必填项已用*标注