• jsonArray与 jsonObject区别与js取值


    一、JSONObject和JSONArray的数据表示形式

    JSONObject的数据是用 {  } 来表示的,

            例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  }  

    而JSONArray,顾名思义是由JSONObject构成的数组,用  [ { } , { } , ......  , { } ]  来表示

           例如:   [ {  "id" : "123", "courseID" : "huangt-test", "title" : "提交作业" }  ,  {  "content" : null, "beginTime" : 1398873600000  "endTime" } ] ; 

            表示了包含2个JSONObject的JSONArray。

    可以看到一个很明显的区别,一个最外面用的是 {  }  ,一个最外面用的是 [  ]  ;

    JavaScript解析JSON

    **
    解析json数组即对JSONArray的遍历

    一、对于标准的json数组如:

    var result=[{"flag":1,"macId":"2","mbId":0,"userName":"XXX"},{"flag":1,"macId":"1","mbId":1,"userName":"YYY"}];
     

    进行遍历的时候,可以直接通过for循环遍历这个数组,有两种方法

    1.  
    for (var i = 0; i < result.length; i++) {
            //result[i]表示获得第i个json对象即JSONObject
            //result[i]通过.字段名称即可获得指定字段的值
            result[i].userName;
        }
    2.
    for(var i in result){
            //表示遍历数组,而i表示的是数组的下标值,
            //result[i]表示获得第i个json对象即JSONObject
            //result[i]通过.字段名称即可获得指定字段的值
            result[i].userName;
        }

    二、对于不标准的json数组如:

    var result={"datas":[{"flag":1,"macId":"2","mbId":0,"userName":"XXX"},{"flag":1,"macId":"1","mbId":1,"userName":"YYY"}]};

     

    进行遍历之前得先解析出标准的json数组格式即[{},{}]

    var data= result.datas;
    1.
     for (var i = 0; i < data.length; i++) {
            //data[i]表示获得第i个json对象即JSONObject
            //data[i]通过.字段名称即可获得指定字段的值
            data[i].userName;
        }
    2.
     for(var i in data){
            //表示遍历数组,而i表示的是数组的下标值,
            //data[i]表示获得第i个json对象即JSONObject
            //data[i]通过.字段名称即可获得指定字段的值
            data[i].userName;
        }

    **

    注意点:eval()方法的作用

    **
    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:
    1. 一种为使用eval()函数。
    2. 使用Function对象来进行返回解析

  • 相关阅读:
    while循环
    赋值运算符、逻辑运算符补充
    布尔类型 基本运算符 if判断
    输入 格式化输出
    计算机基础
    python介绍 编程语言分类及对比 python解释器安装(多版本共存) 变量 数据类型(三种)
    UDP套接字协议
    软件工程个人作业01
    网页版增加信息---添加
    javaWeb项目技术
  • 原文地址:https://www.cnblogs.com/jokerjason/p/8118134.html
Copyright © 2020-2023  润新知