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 相关文章推荐
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
Feb 22 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
Jan 08 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
简单的jquery左侧导航栏和页面选中效果
Aug 21 Javascript
jQuery中$(function() {});问题详解
Aug 10 Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 Javascript
javascript中获取class的简单实现
Jul 12 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 Javascript
详解jQuery uploadify文件上传插件的使用方法
Dec 16 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
Jul 08 Javascript
解决layer弹出层中表单不起作用的问题
Sep 09 Javascript
jquery实现抽奖功能
Oct 22 jQuery
收集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版淘宝网查询商品接口代码示例
2014/06/17 PHP
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
PHP中cookie知识点学习
2018/05/06 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
Javascript的一种模块模式
2010/09/08 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
JS实现div居中示例
2014/04/17 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
小程序自定义日历效果
2018/12/29 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
Python模块学习 re 正则表达式
2011/05/19 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
CSS实现雨滴动画效果的实例代码
2019/10/08 HTML / CSS
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
关于国庆节的演讲稿
2014/09/05 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
python xlwt模块的使用解析
2021/04/13 Python
详解Js模块化的作用原理和方案
2021/04/29 Javascript
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL