woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

用javascript处理JSON

 

因为JSON javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的。

 

js 代码

 

  1. var myJSONObject = {"bindings": [  
  2.         {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},  
  3.         {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},  
  4.         {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}  
  5.     ]  
  6. };  


在上面的例子中,我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent" "method""regex"

javascript 中, 成员可以通过点号来获取。
比如:

js 代码

  1. myJSONObject.bindings[0].method  


通过eval() 函数可以将JSON字符串转化为对象。

js 代码

  1. var myObject = eval('(' + myJSONtext + ')');  


eval
函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可信任的。

如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。

js 代码

 

  1. var myObject = JSON.parse(myJSONtext, filter);  


可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:

js 代码

  1. myData = JSON.parse(text, function (key, value) {       
    1. return key.indexOf('date') >= 0 ? new Date(value) : value;    }); 


stringifier
函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

js 代码

  1. var myJSONText = JSON.stringifier(myObject);  


这里是一个开源的 JSON parser and JSON stringifier

 

 

========

我也翻译过这篇文章clip_image001

我也用过 DOJO ,现在改用 jQuery

posted on 2009-07-28 10:48 肥仔 阅读(437) 评论(0)  编辑 收藏 引用 所属分类: Web-前台


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理