操作Json和Json数组的一些基本方法
来源:互联网 发布:快感增强液 知乎 编辑:程序博客网 时间:2024/05/21 07:47
一、定义一个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);
- 操作Json和Json数组的一些基本方法
- 【Ajax】的一些基本方法,Json操作
- 【json】json对象和json数组的操作
- JSON的基本操作
- JSON的一些操作
- 关于读取json和json数组的方法
- JSON数组,JSON对象,数组的区别与基本操作整理
- Javascript数组、json对象基本操作
- JSON 和 JSON数组
- js/json 数组的操作
- js/json 数组的操作
- js/json 数组的操作
- js/json 数组的操作
- 关于json对象和数组的访问的一些问题
- JSON提取数组的方法
- 对象、对象数组、JSON、JSON数组的相关操作
- Gson操作json字符串和json对象数组
- Gson操作json字符串和json对象数组
- 京东面试题
- OC自动释放池在for循环中的性能测试
- 最长01串(贪心)
- Java 时间(日期)相加处理
- WPF 学习资源汇总
- 操作Json和Json数组的一些基本方法
- 给树莓派系统增加看门狗
- codeBlocks创建新的c语言项目
- 明天上课了!!!
- 对NSDictionary的遍历
- 关于敏捷开发的26个心得
- 【提高学习效率】☞(利用WIN+R 快速打开 软件 及 网页 )
- Codeforces Round #318-(B. Bear and Three Musketeers)
- 深入理解Android消息处理系统——Message、Looper、Handler