JSON字符串与JSON对象的区别

1. 区别

a.JSON对象是直接可以使用JQuery操作的格式

b.JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用

1. 当我们alert  JSON对象  看到的都是Objectd 时候, 想要知道object 是什么时, 先转换为JSON字符串再    alert,通过 JSON.Stringify(json对象)

2. 当我们需要知道 JSON字符串中的某个属性 ,需要先转换为 JSON对象  通过alert(对象.属性)的方式来看,

如果直接 alert, 显示的就是undefined, 要先通过JSON.parse(字符串)转为对象

---- 主要是  区别 ,  相互转换的方法 , 使用注意事项---(记住常用的方法)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<script type="text/javascript">
		//这个是json对象,不带引号
		var str1 = {
			"name" : "hello",
			"sex" : "man"
		};

		//这是json字符串
		var str2 = '{"name":"java","sex":"man"}';
		//alert(str1);
		//alert(str2);
		//alert(str1.name);
		//alert(str2.name); //可以看到这个是 undefined的,说明只能由JSON对象获取属性

		//1. 将JSON字符串转为JSON对象, JSON.parse(字符串)
		var obj = JSON.parse(str2); //这种方法只支持标准格式,也就是类似str2的格式
		alert(obj.name);
		//2. 使用 eval('('+str')')
		var s1 = '{name:111}';
		var o1 = eval('(' + s1 + ')');
		alert(o1.name);
		
		//(2) ---将JSON对象转为 JSON字符串
		// 1.使用全局方法JSON.stringify() 或  
		//   toJSONString()(好像要引入json.js https://github.com/douglascrockford/JSON-js)
		var strToObj=JSON.stringify(str1);
		alert(strToObj);
	</script>
</body>
</html>


猜你喜欢

转载自blog.csdn.net/reallycold/article/details/80675701
今日推荐