json文本,可理解为一组类似于pytho的字典型格式文本:
    “json属性:{“json对象属性1”:值1”,”json对象属性2”:”值2”,“json对象属性31”:[{“json对象属性31”:”值4”},{“json对象属性32”:”值5”}]}”
    其对象属性可以嵌套,但最多不要超过4层
    json最简单使用步骤:
    1、定义变量类型为json类:
    image.png
    2、json解析.(json文本,) —返回bool型,解析是否成功。json文本为自己定义的变量,或 获得的json文本
    3、json.取通用属性(“json的对象属性”,)——返回json的对象属性对应的值。
    对于嵌套的json的对象属性调用(嵌套是指里面带【】),需要将上级的对象属性列出,如上面格式的 值4 的调用
    json.取通用属性(json对象属性31[0].json对象属性31)

    json对象属性31[0],中的[0],表示第一组,如调用值5 则为【1】,
    json.取通用属性(json对象属性31[1].json对象属性31)

    例子:
    下面是百度发票识别的信息代码的json文本:
    image.png
    {"words_result":{"AmountInWords":"壹拾万圆整","InvoiceNumConfirm":"14641426","CommodityPrice":[],"NoteDrawer":"沈园园","SellerAddress":"嘉定区胜辛南路500号15幢1161室55033753","CommodityNum":[],"SellerRegisterNum":"913101140659591751","MachineCode":"","Remarks":"","SellerBank":"中国银行南翔支行446863841354","CommodityTaxRate":[{"row":"1","word":"6%"}],"TotalTax":"5660.38","InvoiceCodeConfirm":"3100153130","CheckCode":"","InvoiceCode":"3100153130","InvoiceDate":"2016年06月02日","PurchaserRegisterNum":"110108787751579","InvoiceTypeOrg":"上海增值税专用发票","Password":"074/45781873408>/6>8>65*887676033/51+<5415>9/32--852>1+29<65>641-5>66<500>87/*-34<943359034>716905113*4242>","Agent":"否","AmountInFiguers":"100000.00","PurchaserBank":"招商银行北京分行大屯路支行866182028510003","Checker":"沈园园","City":"","TotalAmount":"94339.62","CommodityAmount":[{"row":"1","word":"94339.62"}],"PurchaserName":"百度时代网络技术(北京)有限公司","CommodityType":[],"Province":"","InvoiceType":"专用发票","SheetNum":"第三联","PurchaserAddress":"北京市海淀区东北旺西路8号中关村软件园17号楼二层A2010-59108001","CommodityTax":[{"row":"1","word":"5660.38"}],"CommodityUnit":[],"Payee":"徐蓉","CommodityName":[{"row":"1","word":"信息服务费"}],"SellerName":"上海易火广告传媒有限公司","InvoiceNum":"14641426"},"log_id":1364399092964261888,"words_result_num":38}

    读取代码如下:
    image.png
    .版本 2
    .支持库 spec
    bool = json.解析 (源码, )
    调试输出 (bool)
    .如果 (bool)
    文本 = 文本 + “发票类型:” + json.取属性对象 (“words_result.InvoiceType”) + #换行符
    文本 = 文本 + “发票名称:” + json.取属性对象 (“words_result.InvoiceTypeOrg”) + #换行符
    文本 = 文本 + “发票代码:” + json.取属性对象 (“words_result.InvoiceCode”) + #换行符
    文本 = 文本 + “发票号码:” + json.取属性对象 (“words_result.InvoiceNumConfirm”) + #换行符
    文本 = 文本 + “开票日期:” + json.取属性对象 (“words_result.InvoiceDate”) + #换行符
    文本 = 文本 + “联次:” + json.取属性对象 (“words_result.SheetNum”) + #换行符
    文本 = 文本 + “密码区:” + json.取属性对象 (“words_result.Password”) + #换行符
    文本 = 文本 + “收款人:” + json.取属性对象 (“words_result.Payee”) + #换行符
    文本 = 文本 + “复核:” + json.取属性对象 (“words_result.Checker”) + #换行符
    文本 = 文本 + “开票人:” + json.取属性对象 (“words_result.NoteDrawer”) + #换行符
    文本 = 文本 + “购方名称:” + json.取属性对象 (“words_result.PurchaserName”) + #换行符
    文本 = 文本 + “购方纳税人识别号:” + json.取属性对象 (“words_result.PurchaserRegisterNum”) + #换行符
    文本 = 文本 + “购方地址及电话:” + json.取属性对象 (“words_result.PurchaserAddress”) + #换行符
    文本 = 文本 + “购方开户行及账号:” + json.取属性对象 (“words_result.PurchaserBank”) + #换行符
    文本 = 文本 + “销售方名称:” + json.取属性对象 (“words_result.SellerName”) + #换行符
    文本 = 文本 + “销售方纳税人识别号:” + json.取属性对象 (“words_result.SellerRegisterNum”) + #换行符
    文本 = 文本 + “销售方地址及电话:” + json.取属性对象 (“words_result.SellerAddress”) + #换行符
    文本 = 文本 + “销售方开户行及账号:” + json.取属性对象 (“words_result.SellerBank”) + #换行符
    文本 = 文本 + “货物名称:” + json.取属性对象 (“words_result.CommodityName[0].word”) + #换行符
    文本 = 文本 + “规格型号:” + json.取属性对象 (“words_result.”) + #换行符
    文本 = 文本 + “单位:” + json.取属性对象 (“words_result.”) + #换行符
    文本 = 文本 + “数量:” + json.取属性对象 (“words_result.”) + #换行符
    文本 = 文本 + “单价:” + json.取属性对象 (“words_result.”) + #换行符
    文本 = 文本 + “金额:” + json.取属性对象 (“words_result.CommodityAmount[0].word”) + #换行符
    文本 = 文本 + “税率:” + json.取属性对象 (“words_result.CommodityTaxRate[0].word”) + #换行符
    文本 = 文本 + “税额:” + json.取属性对象 (“words_result.CommodityTax[0].word”) + #换行符
    文本 = 文本 + “合计金额:” + json.取属性对象 (“words_result.TotalAmount”) + #换行符
    文本 = 文本 + “合计税额:” + json.取属性对象 (“words_result.TotalTax”) + #换行符
    文本 = 文本 + “价税合计(大写):” + json.取属性对象 (“words_result.AmountInWords”) + #换行符
    文本 = 文本 + “价税合计(小写):” + json.取属性对象 (“words_result.AmountInFiguers”) + #换行符

    image.pngimage.png

    应用扩展:
    json各种格式用json类来取值的方法:
    1. 单一键值对(取出单个value)

    1. {
      name”: “丁丁”,
      age”: 22
      }

    易宝典 006 关于json - 图6
    PasteImage.png
    **_2. 数组之数值(遍历数组中的数值)
    **

    1. {
      num”:[1,2,3,4]
      }

    易宝典 006 关于json - 图7
    PasteImage.png
    **_3. 数组之键值对(遍历数组中某个key的value)
    **


    1. {
      student”: [
      {
      name”: “丁丁”,
      age”: 22
      },
      {
      name”: yanyu”,
      age”: 20
      }
      ]
      }

    易宝典 006 关于json - 图8
    PasteImage.png
    **_4. 键值对套键值对(3的其他一个部分;遍历一个键值对的所有value)
    **

    1. {
      student”: {
      name”: “丁丁”,
      age”: 22
      }
      }

    易宝典 006 关于json - 图9
    PasteImage.png
    **_5. 类_json 取通用属性(支持a.b.c[0]或者[0].a.b; 取所有Name值)
    **
    如果现在只是为了取某一个值,并不需要遍历,那么可以使用该方法

    1. {
      name”: “丁丁”,
      person”: {
      name”: yanyu”,
      age”: 20
      },
      student”: [
      {
      name”: “丁昌江”,
      age”: 22
      }
      ]
      }

    易宝典 006 关于json - 图10

    Paste_Image.png