JSON数据解析(JSON对象与json字符串json数组之间转换)

JSON数据解析(JSON对象与json字符串json数组之间转换)
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>JSON的数据解析</title>

<script src="jQuery.js"></script>
<script type="text/javascript">
	$(function(){
		var str = {
  			"comments": [
	    		{
	      			"content": "很不错嘛",
	      			"id": 1,
	      			"nickname": "纳尼"
	    		},
	   			{
	     			"content": "哟西哟西",
	      			"id": 2,
	     			"nickname": "小强"
	    		}
  			]
		};

		console.log(str.comments[0].content);//获取特定的JSON内的数据

		//获取全部的数据
		 $.each(str.comments, function(index, item) {
            $("body").append(
                    "<div>" +index+":"+ item.content + "</div>" + 
                    "<div>" +index+":"+ item.id + "</div>" +
                    "<div>" +index+":"+ item.nickname + "</div><hr/>");
        });



/****************************************************************************
*	将JSON对象转换为字符串
*	可以使用方法JSON.stringify()将JSON对象转化为JSON字符串。
*****************************************************************************/

		var str3 = JSON.stringify(str);
		console.log(typeof str3);


/****************************************************************************
*            js对象或者json字符串转成JSON对象
*    parseJSON函数用来将一个普通的 JavaScript 对象序列化为 JSON 对象。
*    将标准字符串转换为JSON对象的函数是parseJSON(),使用方式如jQuery.parseJSON(str)//其中str就是满足本标题描述的字符串
******************************************************************************/
	
	var str1='{ "name": "John" }';
    var obj = $.parseJSON(str1)
    console.log(obj.name);


/*当然也可以使用eval()方法将字符串转成json数据类型*/
			var data='{ "name": "John","value": "123" }';
			//data为字符串类型 则要将字符串类型转换成json数据类型
			var jsondatas=eval("("+data+")");
			console.log(jsondatas.value);


/*************************************************************************************
**		以下为数组类型字符串 转换成json 字符串 解析
**		数组形式的json字符串
**
************************************************************************************/
			var jsondata="[{name:'1',value:'0'}, {name:'6101',value:'西安市'}, {name:'6102',value:'铜川市'}, {name:'6103',value:'宝鸡市'}, {name:'6104',value:'咸阳市'}, {name:'6105',value:'渭南市'}, {name:'6106',value:'延安市'}, {name:'6107',value:'汉中市'}, {name:'6108',value:'榆林市'}, {name:'6109',value:'安康市'}, {name:'6110',value:'商洛市'}]";
			var json=eval(jsondata);
			$.each(json,function(i,n){
				console.log(json[i].name);
				console.log(json[i].value);//根据索引取值
			});

/*************************************************************************************
**		
**		json对象 不需要转换
**
************************************************************************************/
			var json={
				"Products":[ 
					{"orderid":"11077","customerid":"RATTC"}, 
					{"orderid":"11078","customerid":"RATT"} 
				], 
				"Img":[
					{"id":"12345","url":"image/1.jpg"} 
				]
			}; 
			$.each(json.Products,function(i,n){
			 alert(n.orderid);
			});
	});
		
</script>
</head>
<body>
	
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值