博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON数组,JSON对象,数组的区别与基本操作整理
阅读量:5831 次
发布时间:2019-06-18

本文共 2153 字,大约阅读时间需要 7 分钟。

JSON 语法规则

JSON 语法是 javascript 对象表示语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组

JSON 名称/值对

JSON 数据的书写格式是:名称/值对。名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:"firstName":"John"

JSON 值

JSON 值可以是:数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号中)null

JSON正常就是由对象和数组组成,对象使用对象的方法来进行操作。数组使用数组的方法来进行操作。

数组

var ourcountry=[["北京市"],["上海市"],["合肥市","芜湖市","蚌埠市"]]; // 数组alert(ourcountry[2][1]);

JSON对象

var status_process = {                "name5" : '闲置期',            "name1" : '播种期',            "name2" : '苗期',            "name3" : '生长期',            "name4" : '采收期'} alert(status_process["name5"]);alert(status_process.name5);// 两个都为:闲置期

JSON字符串

所谓json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象,比如:

var s1="{";var s2 = " 'name5' : '闲置期',   'name1' : '播种期','name2' : '苗期','name3' : '生长期','name4' : '采收期'";var s3="}";var  status_process=s1+s2+s3;

JSON数组遍历

packJson = [        {"name":"zhang", "password":"123"},        {"name":"li", "password":"456"}];for(var p in packJson){//遍历json数组时,这么写p为索引,0,1    alert(packJson[p].name + " " + packJson[p].password);}// 或者for(var i = 0; i < packJson.length; i++){        alert(packJson[i].name + " " + packJson[i].password);}

JSON数组的操作

1.定义

var josnArry=[];

2.添加

jsonArry.push(jsonObj);

3.删除

delete jsonArry[0];splice(index,length):

4.循环访问数组

a.jquery

$.each(jsonArry,function(index,item){    var userId=item.userId;          });

b.一般方式

for(var i=0;i

c.特殊方法

for(var item in jsonArry){     var userId=jsonArry[item].userId;//注意:此处的item不是数组项,而是数组项的索引}

JSON对象遍历

myJson = {"name":"ji", "password":"123"};for(var p in myJson){//遍历json对象的每个key/value对,p为key    alert(p + " " + myJson[p]);}

字符串和json对象和json对象数组相互转换

var jsonStr  = "{\"userId\":\"001\"}";  // json对象字符串var jsonArryStr = "[{\"userId\":\"001\"},{\"userId\":\"002\"}]"; // json数组字符串var jsonObj  = JSON.parse(jsonStr);     // 字符串转为json对象var jsonArry = JSON.parse(jsonArryStr); // 字符串转为json数组var jsonStr  = JSON.stringify(jsonObj); // json对象转为字符串var jsonArryStr=JSON.stringify(jsonArry);// json数组转为字符串alert(jsonStr);alert(jsonArryStr);alert(jsonObj.userId);alert(jsonArry[0]['userId']);

tips:

只有数组或者json数组才可以使用length方法。json对象使用length方法无效。

如果json对象的子元素是数组或者json数组,也可以使用length方法。可以用于遍历数据。

转载地址:http://ssedx.baihongyu.com/

你可能感兴趣的文章
CSS——(2)与标准流盒模型
查看>>
C#中的Marshal
查看>>
linux命令:ls
查看>>
Using RequireJS in AngularJS Applications
查看>>
hdu 2444(二分图最大匹配)
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
使用《Deep Image Prior》来做图像复原
查看>>
Linux基础命令---rmdir
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>