通过JavaScript,认识JSON
2021-03-26 00:29
阅读:647
JSON.parse(text,【reviver】); //text:一个有效的JSON字符串。即text=‘JSON对象‘。 //reviver:一个转换结果的函数。转换后的JavaScript对象,在调用每个成员时,都会进入这个reviver函数。
解析数据
//JSON 不能存储 Date 对象。 //如果需要存储 Date 对象,需要将其转换为字符串。 //之后再将字符串转换为 Date 对象。 var text = ‘{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}‘; var obj = JSON.parse(text, function (key, value) { if (key == "initDate") { return new Date(value); } else { return value; }}); document.getElementById("demo").innerHTML = obj.name + "创建日期:" + obj.initDate;
解析函数
//JSON 不允许包含函数 //但可以将函数作为字符串存储,之后再将字符串转换为函数。 var text = ‘{ "name":"Runoob", "alexa":"function () {return 10000;}", "site":"www.runoob.com"}‘; var obj = JSON.parse(text); obj.alexa = eval("(" + obj.alexa + ")"); document.getElementById("demo").innerHTML = obj.name + " Alexa 排名:" + obj.alexa();
JavaScript 函数 eval() ,可用于将 JSON 文本转换为 JavaScript 对象。
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。
必须把文本包围在括号中,这样才能避免语法错误:
var txt=‘JSON对象文本‘; var obj = eval ("(" + txt + ")");
使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。
在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。
上一篇:并查集-二项树与快速合并算法
下一篇:Python相关数据结构的排序
评论
亲,登录后才可以留言!