zoukankan      html  css  js  c++  java
  • 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对象来进行返回解析

  • 相关阅读:
    获取<input type="checkbox" >控件的checked值
    网站IIS部署及调试
    winform窗体全屏实现
    ComBox控件的使用
    在vs2005项目中,将.sln文件和.suo文件放在一个独立的文件夹内
    .NET面试题整理
    《url重写——更友好的网站url设计》
    char、varchar、nvarchar三者间的区别
    操作符"??"的用法
    Maven 学习笔记(三)
  • 原文地址:https://www.cnblogs.com/jokerjason/p/8118134.html
Copyright © 2011-2022 走看看