Json数组操作小记
2016-02-05 16:54
573 查看
[{"productid":"1","sortindex":"2"},{"productid":"2","sortindex":"3"}]
在JSON中,有两种结构:对象和数组。
1.对象
一个对象以“{”开始,“}”结束。每个“key”后跟一“:”,“‘key/value’ 对”之间运用 “,”分隔。
packJson = {"name":"nikita", "password":"1111"}
2.数组
packJson = [{"name":"nikita", "password":"1111"}, {"name":"tony", "password":"2222"}];
数组是值的有序集合。一个数组以“[”开始,“]”结束。值之间运用 “,”分隔。
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
或者
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
然后,就可以这样读取:
Alert(obj.name);
Alert(obj.sex);
//可以运用toJSONString()或者全局要领JSON.stringify()将JSON对象转化为JSON字符串。
例如: www.2cto.com
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
遍历JSON数组
在JSON中,有两种结构:对象和数组。
1.对象
一个对象以“{”开始,“}”结束。每个“key”后跟一“:”,“‘key/value’ 对”之间运用 “,”分隔。
packJson = {"name":"nikita", "password":"1111"}
2.数组
packJson = [{"name":"nikita", "password":"1111"}, {"name":"tony", "password":"2222"}];
数组是值的有序集合。一个数组以“[”开始,“]”结束。值之间运用 “,”分隔。
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
或者
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
然后,就可以这样读取:
Alert(obj.name);
Alert(obj.sex);
//可以运用toJSONString()或者全局要领JSON.stringify()将JSON对象转化为JSON字符串。
例如: www.2cto.com
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
遍历JSON数组
packJson = [ {"name":"nikita", "password":"1111"}, {"name":"tony", "password":"2222"} ];
for(var i = 0; i < packJson.length; i++){ alert(packJson[i].name + " " + packJson[i].password); }
//targetJson 目标JSON,packJson 被组装JSON function addGroupJson(targetJson, packJson){ if(targetJson && packJson){ for(var p in packJson){ targetJson[p] = packJson[p]; } } }
var json1 = {"name":"nikita"}; var json2 = {"password":"1111"}; addGroupJson(json1, json2); alert(json2str(json1)); //{"name":"nikita","password":"1111"}
http://blog.csdn.net/goflyfreely/article/details/7713954[/code]1、数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。 2、数组的元素的访问 var testGetArrValue=arrayObj[1]; //获取数组的元素值 arrayObj[1]= "这是新值"; //给数组元素赋予新的值 3、数组元素的添加 arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度 arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度 arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。 4、数组元素的删除 arrayObj.pop(); //移除最后一个元素并返回该元素值 arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移 arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素 5、数组的截取和合并 arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素 arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组 6、数组的拷贝 arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向 arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向 7、数组元素的排序 arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址 arrayObj.sort(); //对数组元素排序,返回数组地址 8、数组元素的字符串化 arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。 toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用
相关文章推荐
- json传输二进制的方案
- *Firefox*的*Firebug*进行JavaScript调试
- JavaScript 覆盖document.createElement 方法 解决window.close在火狐下不兼容问题)
- 一些很少用到的js
- js全局变量和局部变量
- JSP有哪些内置对象和动作?它们的作用分别是什么?
- JavaScript高级程序设计学习笔记第五章--引用类型
- XML、HTML、CSS与JS的区别
- JavaScript系列(四:对象)
- [no]@json核心技术——《描述表》
- 如何使用iframe标签,延迟加载跨域JS文件
- JavaScript调用WebServices
- [LeetCode][JavaScript]Verify Preorder Serialization of a Binary Tree
- Angular-JS初见
- time stamp in javascript
- JSP页面布局工具JWebBox升级到2.0版
- JavaScript学习笔记01
- JSP的结构和生命周期
- ES7中的async函数
- JS通过Cookie判断页面是否为首次打开