扫码一下
查看教程更方便
json 最常见的用法之一,是从 web 服务器上读取 json 数据(作为文件或作为 httprequest),将 json 数据转换为 javascript 对象,然后在网页中使用该数据。
为了更简单地为您讲解,我们使用字符串作为输入进行演示(而不是文件)。
创建包含 json 语法的 javascript 字符串:
var txt = '{ "sites" : ['
'{ "name":"迹忆客" , "url":"www.jiyik.com" },'
'{ "name":"google" , "url":"www.google.com" },'
'{ "name":"迹忆客工具" , "url":"tools.jiyik.com" } ]}';
由于 json 语法是 javascript 语法的子集,javascript 函数 eval() 可用于将 json 文本转换为 javascript 对象。
eval() 函数使用的是 javascript 编译器,可解析 json 文本,然后生成 javascript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" txt ")");
在网页中使用 javascript 对象:
var txt = '{ "sites" : ['
'{ "name":"迹忆客" , "url":"www.jiyik.com" },'
'{ "name":"google" , "url":"www.google.com" },'
'{ "name":"迹忆客工具" , "url":"tools.jiyik.com" } ]}';
var obj = eval ("(" txt ")");
document.getelementbyid("name").innerhtml=obj.sites[0].name
document.getelementbyid("url").innerhtml=obj.sites[0].url
lamp eval() 函数可编译并执行任何 javascript 代码。这隐藏了一个潜在的安全问题。
使用 json 解析器将 json 转换为 javascript 对象是更安全的做法。json 解析器只能识别 json 文本,而不会编译脚本。
在浏览器中,这提供了原生的 json 支持,而且 json 解析器的速度更快。
较新的浏览器和最新的 ecmascript (javascript) 标准中均包含了原生的对 json 的支持。
对于较老的浏览器,可使用 javascript 库:
json 格式最初是