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


一、定义一个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);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值