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对象来进行返回解析

posted @   JokerJason  阅读(21172)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

It's not who you are underneath, it's what you do that defines you

Brick walls are there for a reason :they let us prove how badly we want things

点击右上角即可分享
微信分享提示