eval可以将字符串生成语句执行,和SQL的exec()类似。
eval的使用场合是什么呢?有时候我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了。举个例子:
我们要做一个function(),功能是输入网页中两个个对象的名称,然后程序就将这两个对象的值联接起来输出。
function output(a,b)
{
var tmpa,tmpb;
tmpa=document.all.a.value;
tmpb=document.all.b.value;
document.write(tmpa+tmpb);
}
output('input1','input2');
这样你执行的时候就会提示错误“document.all.a不是对象”以及“document.all.b不是对象”。原来 javascript把a和b当成对象名称了,怎样能让javascript把a里面的值作为对象名称呢?这时候就要用eval了,把代码改成这样:
function output(a,b)
{
var tmpa,tmpb;
tmpa=eval("document.all."+a+".value");
tmpb=eval("document.all."+b+".value");
document.write(tmpa+tmpb);
}
output('input1','input2');
这样javascript就会先取出a,b的值,然后和前面的document.all.以及后面的.value组合运行,于是就可以
顺利取出input1和input2的值,我们的目的达到了。
JSON简介
JSON是一种用JavaScript对象符号格式化文本的简单方法。与其它更为流行的面向对象设计技术不同的是,人们经常称它为面向数据工具。由于它使用编程结构,因此易于为人与机器进行阅读。
JSON旨在传送基于文本的数据,所以它不支持任何类型的二进制对象。基本上,它支持两种类型的数据结构:名称/值对集合(如对象)和有序数值列表(如数组)。下面的列表详细说明了JSON支持的数据元素:
- Objects(对象):以大括号( {})开始并结束的对象。
- Object members(对象成员):由以冒号(:)分隔的字符串和值组成的元素。成员之间用逗号(,)隔开。
- Arrays(数组):数据用大括号定义。也就是说,它们以大括号({})开始并结束。数组由值构成,这些值位于大括号之中,不同值之间以逗号隔开。
- Values(值):单独的值可能为字符串、数字、对象、或一个文字值,如真、假和零。字符串值位于双引号中,可能包含Unicode字符和反斜扛或转义字符。字符是一个单独的字符串。
简单是JSON的一个主要优势——它比与之对应的XML要简单得多。用一个显示JSON数据语法和格式化的例子就能清楚证明这一点。下面的代码片断使用JSON来建立一个网址数组:
{
"websites":[
"http://www.techrepublic.com/",
"http://www.cnet.com/",
http://www.news.com/
] }
要用XML方便地定义同样的数据,可能相当困难。
处理JSON数据
要应用JSON,你需要像处理XML一样对JSON格式的数据进行解析。
由于其设计简单,所以用JavaScript内置的eval()过程可以很方便地对JSON进行解析,如下面的代码片断所示:
testObject = eval('(' + json_data + ')');
用javascript玩json的一个例子
<meta content="JavaScript" name="vs_defaultClientScript">
<script>
function jsontest()
{
//json
var jsontext = '{"man":{"weight":"75kg","age":"24"},"ar":["1","2","3","4"]}';
//解析json
var aman = eval("("+jsontext+")");
//取出json中的信息
alert(aman.man.weight);
}
</script>
又如:
js 代码
-
- var myJSONtext = '{name: "123"}';
- var obj = eval('(' + myJSONtext + ')');
-
- alert(obj.name);
-
-
-
- var myJSONObject = {"bindings": [
- {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
- {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
- {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
- ]
- };
-
- alert(myJSONObject.bindings[0].method);
-
分享到:
相关推荐
JSON知识点详解PDF版
json
这是一个静态页面,里面介绍了关于JSON的知识,如果需要得到jsp,asp,js,java,c++等等各种语言里JSON的知识和运用工具,可以用页面下方的链接去找。
对 json 串的知识总结。及如何与java代码,javascript对象之间的转换,
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
知识图谱导出JSON可视化
本文给大家汇总了一下关于json的相关的知识点,从基础到示例,非常全面,有需要的小伙伴可以参考下。
本人学习 json总结希望 可以 给各位朋友 点 帮助
json知识运用,fastjson进行封装,通过fastJSON封装JSON
JSON文件必知必会知识
json与数组,对象的转换和相关案例,可以让学习者轻松了解和掌握json的基本语法和使用方法,以及 json与数组,对象的转换
json
所以作为开发人员,如果有兴趣的话,还是应该深入了解一下 JSON 相关的知识。本着探究 JSON 原理的目的,我将会在这DEMO中实现了一个简单的JSON解析器。由于 JSON 本身比较简单,解析起来也并不复杂。所以如果大家感...
Android客户端与服务器端的json数据交互(内含大量知识点),包含文件的上传,文件浏览器等。 Android客户端与服务器端的json数据交互(内含大量知识点),包含文件的上传,文件浏览器等。
相关知识点说明:此测试程序包含Json、Webservice、Jquery、Ajax相关知识 引用程序集:Newtonsoft.Json.Net35 文件夹及文件说明: JsonDemo\ 应用Newtonsoft相关用例文件夹 ContractResolver.aspx 传入泛型类...
JSON:(JavaScript Object Notation) 是一种轻量级的数据交换格式 他可以直接被JS所解析(JS能够直接识别)
json入门教程,可以方便大家快速的学习json的基础知识。。。
绝对物超所值,全面介绍json相关知识,一小时掌握json
【ASP.NET编程知识】JSON在ASP.NET中使用方法.docx