您的位置:首页 > Web前端 > JavaScript

操作Json和Json数组的一些基本方法

2015-08-30 22:12 771 查看

一、定义一个json对象

1、直接定义

1)、属性值为常量:

var jsonObj={userId:'001'}; //字段可以不用也可用引号引起来,但字符串值必须用引号(单引号和双引号都行)

2)、属性值为Json对象:

var jsonObj={id:{userId:'001',sex:'男'},id1:{userId:'002',sex:'女'}};

2、由字符串转换

var jsonStr="{\"userId\":\"001\"}";//字段和字符串值必须用双引号引起,单引号都不行

var jsonObj=JSON.parse(jsonStr);//字符串转json对象

3、由字符串转换

jsonObj.name='李明';

或者:jsonObj['name']='李明';

结果:{serId:"001",name:'李明'}

4、循环访问json对象属性

var jsonObj={id:{userId:'001',sex:'男'},id1:'002'};

for(var field in jsonObj)

{

alert(field);//依次输出Id和Id1;

alert(jsonObj[field].userId) //针对第一次循环,输出:001【第一个属性值为json对象,要通过属性值的属性访问】

alert(jsonObj[field]);//针对第二次循环,输出:002【第二个属性值为简单常量,直接输出即可】

}

二、定义一个json数组

var josnArry=[];

1、添加json对象元素:

jsonArry.push(jsonObj);

2、删除元素

1)、delete jsonArry[0];

删除指定位置元素。注意:不直接直接删除,而是用null项取代。数组长度不变

结果:[ null],此时jsonArry[0]的值为undefined,后续访问数组时要考虑删除后的元素的特殊情况

2)、splice(index,length):

删除指定位置开始指定个数的项

和delete区别:1、splice直接清空指定项,数组长度减小。而delete 只是用null项取代原有项

2、splice可以一次性删除多项。而delete职能删除一项

3、循环访问数组

1、Jquery方式

$.each(jsonArry,function(index,item){

var userId=item.userId;

});

2、一般js方法

for(var i=0;i<jsonArry.length;i++)

{

var userId=jsonArry[i].userId;

}

3、特殊方法(类似方法2)

for(var item in jsonArry)

{

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

}

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

var jsonStr="{\"userId\":\"001\"}";

var jsonArry="[{\"userId\":\"001\"},{\"userId\":\"002\"}]";

1、字符串转json对象或json对象数组

var jsonObj=JSON.parse(jsonStr);

var jsonArry=JSON.parse(jsonArry);

2、json对象或json对象数组转字符串

var jsonStr=JSON.stringify(jsonObj);

var jsonArryStr=JSON.stringify(jsonArry);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: