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

转载于:https://www.cnblogs.com/jokerjason/p/8118134.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计划任务 at,cron

示例&#xff1a;每3小时echo和wall命令 转载于:https://www.cnblogs.com/momenglin/p/8551618.html

代码疑云

代码疑云(1)-掌握初始化列表 代码&#xff1a; [cpp] view plaincopy#include<iostream> using namespace std; class A { private: int x1; int x2; public: A():x2(1),x1(x2){} //初始化列表 void print() { cout<<"x1"<&…

网络拥塞

拥塞&#xff08;Congestion&#xff09;指的是在包交换网络中由于传送的包数目太多&#xff0c;而存贮转发节点的资源有限而造成网络传输性能下降的情况。拥塞的一种极端情况是死锁&#xff08;Deadlock&#xff09;&#xff0c;退出死锁往往需要网络复位操作。

android 多线程future,多线程FutureTask的使用方法和使用实例

FutureTask是一种可以取消的异步的计算任务。它的计算是通过Callable实现的&#xff0c;它等价于可以携带结果的Runnable&#xff0c;并且有三个状态&#xff1a;等待、运行和完成。完成包括所有计算以任意的方式结束&#xff0c;包括正常结束、取消和异常。Future有个get方法而…

2017.12.26

转载于:https://www.cnblogs.com/dyh-air/p/8118961.html

mac 下安装pip

pip是常用的python包管理工具&#xff0c;类似于java的maven。用python的同学&#xff0c;都离不开pip。 在新mac中想用home-brew安装pip时&#xff0c;遇到了一些小问题&#xff1a; bogon:~ wanglei$ brew install pip Error: No available formula with the name "pip&…

IT职场人生系列

IT职场人生系列之一&#xff1a;序言及找谁占卜 本文是IT职场人生系列的第一篇。 时间流逝&#xff0c;渐渐从之前在公司里边的小弟变成大哥了&#xff0c;当年身边比我大的程序员们都不见了&#xff0c;既没有当领导也没有去创业&#xff0c;就这么消失了。 年轻的程序员或…

RS-232协议

计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低&#xff0c;特别是在远程传输时&#xff0c;避免了多条线路特性的不一致而被广泛采用。 在串行通讯时&#xff0c;要求通讯双方都采用一个标准接口&am…

linux sed 找出前后三行,Linux Sed 使用示例

环境&#xff1a;CentOS鉴于语句描述苍白无力&#xff0c;用例子直接说明。mytxt文件内容&#xff1a;zilzhang 19881110 jiangxi 18 filmzhagnsan 21321 sichuan 100 cardlisi 3435 hunan 65 TV1. 找出文件第二行$ sed -n ‘2p‘ mytxtzhagnsan 21321 sichua…

MessageBox 弹框

模拟系统的消息提示框而实现的一套模态对话框组件&#xff0c;用于消息提示、确认消息和提交内容。 从场景上说&#xff0c;MessageBox 的作用是美化系统自带的 alert、confirm 和 prompt&#xff0c;因此适合展示较为简单的内容。如果需要弹出较为复杂的内容&#xff0c;请使用…

什么是同轴电缆

同轴电缆从用途上分可分为基带同轴电缆和宽带同轴电缆&#xff08;即网络同轴电缆和视频同轴电缆&#xff09;。同轴电缆分50Ω 基带电缆和75Ω宽带电缆两类。基带电缆又分细同轴电缆和粗同轴电缆。基带电缆仅仅用于数字传输&#xff0c;数据率可达10Mbps。同轴电缆(Coaxial Ca…

android textview表情,Android开发(16)-TextView显示表情图像和文字

从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息,第三张图片按比例缩小&#xff0c;第四张图像有超链接布局文件MainActivity.javapackage com.example.textview3;import java.lang.reflect.Field;import android.os.Bundle;import…

Rating

题目链接 题意&#xff1a; 起始状态是&#xff08;0。0&#xff09;&#xff0c;每次转移的时候都是对两个数中的较小的数操作。1&#xff09;以概率p转向&#xff08;min&#xff08;a 50&#xff0c;1000&#xff09;。b&#xff09; 2&#xff09;以概率1-p转向&#x…

linux的apache2.4限定某个目录禁止解析PHP及user_agent与PHP相关配置

限定某个目录禁止解析PHP 对于使用PHP语言编写的网站&#xff0c;有一些目录是有需求上传文件的&#xff0c;比如服务器可以上传图片&#xff0c;并且没有做防盗链&#xff0c;所以就会被人家当成了一个图片存储服务器&#xff0c;并且盗用带宽流量。如果网站代码有漏洞&#x…

什么是光缆

光缆(optical fiber cable)是为了满足光学、机械或环境的性能规范而制造的&#xff0c;它是利用置于包复护套中的一根或多根光纤作为传输媒质并可以单独或成组使用的通信线缆组件。光缆主要是由光导纤维&#xff08;细如头发的玻璃丝&#xff09;和塑料保护套管及塑料外皮构成&…

js调用android播放器,js调用android本地方法

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;昨天自己录了一个android本地调用h5中js方法&#xff0c;可能是因为视频比较耗费流量&#xff0c;结果看的人不是很多&#xff0c;所以决定还是先写文章&#xff0…

linux之分区的水深(标准分区方式)

1.首先创建boot分区(200M即可) boot分区作为linux启动相关信息的存储介质&#xff0c;不论boot分区什么时候&#xff0c;它都会排在整个硬盘的起始段&#xff0c;方便系统启动获取相关信息&#xff0c;用户尽量不去更改boot分区的挂载点顺序。 2.接着创建swap分区&#xff08;应…

doxygen相关问题

doxygen相关问题 我主要的设置有 现在 wizard对话框中大体设置下,然后 export设置: project->DOXYFILE_ENCODINGGBK project->OUTPUT_LANGUAGEchinese input->INPUT_ENCODINGGBK Dot->HAVE_DOT Dot-> UML_LOOK Dot->CALL_GRAPH Dot->CALLER_GRAPH http…

前端之JavaScript 02

一、函数 // 最基础的函数定义 function f1() {console.log(hello world!); } f1(); // hello world!// 带参数的函数 function f2(name,age) {console.log("姓名 : " name " 年龄&#xff1a;" age); } f2("jassin",18); // 姓名 : jassi…

什么是双绞线

双绞线&#xff08;twisted pair&#xff0c;TP&#xff09;是一种综合布线工程中最常用的传输介质&#xff0c;是由两根具有绝缘保护层的铜导线组成的。把两根绝缘的铜导线按一定密度互相绞在一起&#xff0c;每一根导线在传输中辐射出来的电波会被另一根线上发出的电波抵消&a…