• 用 javascript 处理 JSON
    时间:2009-07-03   作者:佚名   出处:互联网

        因为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); 

    网友留言/评论

    我要留言/评论

    相关文章

    写出漂亮代码的七种方法:首先我想说明我本文阐述的是纯粹从美学的角度来写出代码,而非技术、逻辑等。以下为写出漂亮代码的七种方法:
    Raid的学习和基础知识:各种意外灾难、错误带来的数据损坏和丢失给人们带来的损失和不便,个人及网站服务器的数据必须要备份,作Raid便是一种可行而有效的方法。Raid分为软Raid和硬raid......
    软RAID 0的技术概要及实现:Software RAID 中译是软RAID ,软RAID 比如常用的有RAID 0 、RAID 1 、RAID 5、RAID 10 ;本文主要讲述RAID 0、1、5、10的基本概念及软RAID 的创建、修复和管理;