JSON数组,JSON对象,数组的区别与基本操作整理

简介:

JSON 语法规则

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

JSON 名称/值对

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

JSON 值

JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(truefalse)
数组(在方括号中)
对象(在花括号中)
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<jsonArry.length;i++)
{
    var userId=jsonArry[i].userId;  
}

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方法。可以用于遍历数据。



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5985371.html,如需转载请自行联系原作者

相关文章
|
6月前
|
存储 JSON 前端开发
JSON数组的概念、语法和用法
JSON数组的概念、语法和用法
1170 3
|
2月前
|
C++
C++(十一)对象数组
本文介绍了C++中对象数组的使用方法及其注意事项。通过示例展示了如何定义和初始化对象数组,并解释了栈对象数组与堆对象数组在初始化时的区别。重点强调了构造器设计时应考虑无参构造器的重要性,以及在需要进一步初始化的情况下采用二段式初始化策略的应用场景。
|
5月前
|
存储 JavaScript 前端开发
JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)
【6月更文挑战第25天】JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)。
39 2
|
5月前
|
存储
Map集合,集合嵌套知识点
Map集合,集合嵌套知识点
21 0
|
6月前
|
存储 算法 Java
Java数组与集合的深入解析
Java数组与集合的深入解析
54 0
|
JavaScript
多个js对象数组合并成一个对象数组的解决方案
多个js对象数组合并成一个对象数组的解决方案
308 0
|
存储 Python
Python字典和集合操作指南:创建、获取值、修改和删除键值对,复制和遍历方法全解析
Python字典和集合操作指南:创建、获取值、修改和删除键值对,复制和遍历方法全解析
787 0
|
JSON 前端开发 fastjson
深入理解JSON数组、JSON对象、JSON字符串、普通数组的区别与操作整理
JSON的数据格式: 1) 并列的数据之间用逗号(”, “)分隔。 2) 映射用冒号(”: “)表示。 3) 并列数据的集合(数组)用方括号(“[]“)表示。 4) 映射的集合(对象)用大括号(”{}”)表示。 5)JSON 数据的书写格式是:名称/值对。 6)名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:“firstName”:“John”
1111 0
|
JavaScript 前端开发 API
javascript遍历对象数组排序筛选需要的键值
javascript遍历对象数组排序筛选需要的键值
66 0
|
JavaScript Java API
都2022年了你不会还没搞懂对象数组的遍历吧
对象、数组的遍历在我们日常开发中基本上天天能碰到,但是对象、数组都有哪些遍历方法,各方法之间又有什么区别你们真的清楚了吗?今天笔者就来总结下。
78 0
下一篇
无影云桌面