把 JSON 文本转换为 JavaScript 对象

建立包含 JSON 语法的 JavaScript 字符串:javascript

var txt = '{ "sites" : [' +
'{ "name":"菜鸟教程" , "url":"www.runoob.com" },' +
'{ "name":"google" , "url":"www.google.com" },' +
'{ "name":"微博" , "url":"www.weibo.com" } ]}';

属性名必须使用双引号java

因为 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。浏览器

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,而后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:安全

var obj = eval ("(" + txt + ")");

JSON 解析器

eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。函数

使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的作法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。google

在浏览器中,这提供了原生的 JSON 支持,并且 JSON 解析器的速度更快。url

较新的浏览器和最新的 ECMAScript (JavaScript) 标准中均包含了原生的对 JSON 的支持。spa

相关文章
相关标签/搜索