zoukankan      html  css  js  c++  java
  • 用 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);  
  • 相关阅读:
    CodeForces 706C Hard problem
    CodeForces 706A Beru-taxi
    CodeForces 706B Interesting drink
    CodeForces 706E Working routine
    CodeForces 706D Vasiliy's Multiset
    CodeForces 703B Mishka and trip
    CodeForces 703C Chris and Road
    POJ 1835 宇航员
    HDU 4907 Task schedule
    HDU 4911 Inversion
  • 原文地址:https://www.cnblogs.com/top5/p/1949616.html
Copyright © 2011-2022 走看看