在JS中操作json数据

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

一:将json对象转换为json字符串

       1在js中生成简单的json对象,并将其转换为json字符串


                                    上图中第一个alert(student)为json对象如下:

第2个alert(stuJson)为转换后的json字符串如下所示:

小结: 上面将json对象转换为字符串的方法为JSON.stringify(student),除此之外,js将对象转换为字符串的方法还有student.toJSONString();如果浏览器提示找不到toJSONString(),说明json包版本太低。

2在js中生成复杂一点的json对象,并将其转换为json字符串,并迭代出json对象中每一个元素值

//测试js创建复杂的json数组对象,转换为json字符串
    	function test2(){
    		var jsonObj = new Array();   //声明一个json数组
    		
    		var jsonObj1 = new Object();  //json数组中的第一个json对象
    		jsonObj1.name="张三";
    		jsonObj1.age="25";
    		
    		var jsonObj2 = new Object();  //json数组中的第二个json对象
    		jsonObj2.name="李四";
    		jsonObj2.age="18";
    		//将两个json对象放入json数组中
    		jsonObj[0]=jsonObj1;
    		jsonObj[1]=jsonObj2;
    		
    		alert(jsonObj);   //弹出json对象;
    		alert(JSON.stringify(jsonObj));//弹出json字符串;
    	}
第1个alert(jsonObj)弹出json对象如下所示:

第二个alert(JSON.stringify(jsonObj))弹出json对象的字符串形式如下所示;


在js中迭代出复杂json对象中元素的方法可以用如下操作:

               $.each(jsonObj,function(i,n){   //迭代json数组中的每一个对象
    			i++;
    			alert("第"+i+"个对象姓名为:"+n.name+",年龄为:"+n.age);
    			
    		});
因为上面的json数组中共有两个对象,故结果如下所示:



二:将json字符串转换为json对象

JSON字符串转换为JSON对象可以使用eval('(' + str + ')')方法。如下所示:
     //测试将json字符串转换为json对象	
    	function test3(){
    	  var jsonStr = '{"name":"张三","age":"21"}';   //json字符串;
    	  alert(jsonStr);  //1.弹出的为json字符串;
    	  var jsonObj = eval('('+jsonStr+')');  //将json字符串转换为json对象
    	  alert(jsonObj);  //2.弹出的为json对象;
    	
    	}
上面的alert(jsonStr)弹出的为还未转换之前的json字符串;

第二个alert(jsonObj)弹出的为字符串json数据通过eval()转换为json对象的对象:


其他json字符串转换为json对象的方法还有jsonStr.parseJSON();(需要导入json_parse.js)。还有JSON.parse(jsonStr);


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值