什么是json
JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度
json是什么
JSON就是一串字符串 只不过元素会使用特定的符号标注。
{} 双括号表示对象
[] 中括号表示数组
“” 双引号内是属性或值
: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
所以 {“name”: “Michael”} 可以理解为是一个包含name为Michael的对象
而[{“name”: “Michael”},{“name”: “Jerry”}]就表示包含两个对象的数组
当然了,你也可以使用{“name”:[“Michael”,”Jerry”]}来简化上面一部,这是一个拥有一个name数组的对象
为什么要用json来操作
因为json的格式都有一定规律,如果不用json那么取其中数据就只能用取文本中间,或者正则。
远没有JSON格式来取方便快捷。
易语言json如何使用
举个例子
- {
- "errcode": "0",
- "msg": "",
- "servertime": "1573206215",
- "data":[
-
- {
- "dwGroupId": "03862191",
- "dwSkuTotal":"115",
- "list":[
-
- {
- "dwBeginTime":"1572486097",
- "dwEndTime":"1572572497",
- "dwRealTimePrice":"1.00",
- "dwRefPrice":"29.00",
- "dwDiscount":"3.44",
- "dwStockState":"0",
- "dwClassIdL1":"11729",
- "dwClassIdL2":"11730",
- "dwClassIdL3":"6911",
- "dwShopId":"980816",
- ...省略1,2万数据
当然上面这一堆肯定不好看。我们可以借助可视化的工具。
如下面网址
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接口的话。