前面一篇博客介绍了JSON的两个主要方法:JSON.parse()和JSON.stringify(),一个是将服务端接收的字符串数据,转换为JavaScript对象,一个是将JavaScript对象转换为字符串数据。
这章我们就来 讲讲JSON的实际使用:
最常用用法:在web服务器上读取JSON数据,(作为文件或者HttpRequest),将JSON字符串数据转换为JavaScript对象,然后再网页中使用该数据。
接下来,使用JavaScript中的eval()方法将JSON文本转换为JavaScript对象,但是必须把文本包围在括号中,这样可以避免语法错误:
txt为对应的字符串
var obj=eval("("+txt+")");
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>在json字符串中创造对象</title>
<h1 id="test"></h1>
<h1 id="url"></h1>
</head>
<body>
<script>
var txt='{"id":['+'{ "name":"百度" , "url":"www.baidu.com" },' +
'{ "name":"taobao" , "url":"www.taobao.com" }]}' ;
var obj=eval("("+txt+")");
document.getElementById("test").innerHTML=obj.id[0].name;
document.getElementById("url").innerHTML=obj.id[1].url;
</script>
</body>
</html>
通过上面这个例子,可以看出来该函数的作用其实就是将+号前后的单引号删除掉,然后合并在一起,先转变为JSON对象,再转换为JavaScript对象
JSON的应用场景:
Jsonp(意思是JSON with Padding)是json的一种“使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
为什么我们从不同的网站访问数据需要一个特殊的数据的技术呢?
这是因为同源策略
所谓同源策略,是一个为了安全而生的安全策略,现在所有支持JavaScript的浏览器都会使用这个策略。
摘抄自:菜鸟教程