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


Posted in Javascript onJanuary 18, 2014

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://3water.com"}"; 转换成JS对象
正确写法:
var objTEST=eval("("+strTEST+")");
出错写法:
var objTEST=eval(strTEST);

完整测试代码:

<script type="text/javascript">
<!--
    var strTEST="{id:"cnlei", url:"https://3water.com"}";
    var objTEST=eval("("+strTEST+")"); //正确写法
    //var objTEST=eval(strTEST); //出错写法
    alert(objTEST.id+"n"+objTEST.url);
//-->
</script>
Javascript 相关文章推荐
jQuery AJAX 调用WebService实现代码
Mar 24 Javascript
如何将php数组或者对象传递给javascript
Mar 20 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 Javascript
快速掌握Node.js环境的安装与运行方法
Feb 16 Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 Javascript
简述vue状态管理模式之vuex
Aug 29 Javascript
微信小程序实现预览图片功能
Oct 22 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
May 02 Javascript
vue里的data要用return返回的原因浅析
May 28 Javascript
JS数组方法push()、pop()用法实例分析
Jan 18 Javascript
收集json解析的四种方法分享
Jan 17 #Javascript
javascript在子页面中函数无法调试问题解决方法
Jan 17 #Javascript
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 #Javascript
用js控制组织结构图可以任意拖拽到指定位置
Jan 17 #Javascript
Jquery 获取对象的几种方式介绍
Jan 17 #Javascript
在javascript中如何得到中英文混合字符串的长度
Jan 17 #Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
Jan 17 #Javascript
You might like
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
直接拿来用的页面跳转进度条JS实现
2016/01/06 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
python3 使用traceback定位异常实例
2020/03/09 Python
使用python实现名片管理系统
2020/06/18 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
市场推广策划方案
2014/06/02 职场文书
节电标语大全
2014/06/23 职场文书
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技