js使用eval解析json实例与注意事项分享

时间:2021-05-26

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间使用“,”(逗号)分隔

先来看个解析实例

复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>eval函数解析json对象</title>
</head>
<body>
<script type="text/javascript">
var json=eval("({sitename:'dreamdu',sitedate:new Date(1980, 12, 17, 12, 0, 0)})");
document.write(json.sitename);
document.write("<br />");
document.write(json.sitedate);
</script>
</body>
</html>

eval()解析JSON格式字符串应注意的问题
使用eval()解析JSON格式字符串应注意的问题
在利用javascript内置的eval函数,将json格式的字符串转换成JS对象时,需要用一对"()"先将该字符串包住.
例如:
将 var strTest="{id:"cnlei", url:"https://www.jb51.net"}"; 转换成JS对象
正确写法:
var objTEST=eval("("+strTEST+")");
出错写法:
var objTEST=eval(strTEST);

完整测试代码:
复制代码 代码如下:
<script type="text/javascript">
<!--
var strTEST="{id:"cnlei", url:"https://www.jb51.net"}";
var objTEST=eval("("+strTEST+")"); //正确写法
//var objTEST=eval(strTEST); //出错写法
alert(objTEST.id+"n"+objTEST.url);
//-->
</script>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章