`
jelly
  • 浏览: 299416 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

用 javascript 处理 JSON

    博客分类:
  • AJAX
阅读更多
    因为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
  • json2.rar (3.2 KB)
  • 描述: 一个开源的 JSON parser and JSON stringifier
  • 下载次数: 2022
分享到:
评论
3 楼 tonyhelp 2008-09-17  
<div class='quote_title'>jelly 写道</div>
<div class='quote_div'>    因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的。<br/>    <br/>   
<div class='code_title'>js 代码</div>
<div class='dp-highlighter'>
<div class='bar'> </div>
<ol class='dp-c'>
<li class='alt'><span><span class='keyword'>var</span><span> myJSONObject = {</span><span class='string'>"bindings"</span><span>: [  </span></span></li>
<li><span>        {<span class='string'>"ircEvent"</span><span>: </span><span class='string'>"PRIVMSG"</span><span>, </span><span class='string'>"method"</span><span>: </span><span class='string'>"newURI"</span><span>, </span><span class='string'>"regex"</span><span>: </span><span class='string'>"^http://.*"</span><span>},  </span></span></li>
<li class='alt'><span>        {<span class='string'>"ircEvent"</span><span>: </span><span class='string'>"PRIVMSG"</span><span>, </span><span class='string'>"method"</span><span>: </span><span class='string'>"deleteURI"</span><span>, </span><span class='string'>"regex"</span><span>: </span><span class='string'>"^delete.*"</span><span>},  </span></span></li>
<li><span>        {<span class='string'>"ircEvent"</span><span>: </span><span class='string'>"PRIVMSG"</span><span>, </span><span class='string'>"method"</span><span>: </span><span class='string'>"randomURI"</span><span>, </span><span class='string'>"regex"</span><span>: </span><span class='string'>"^random.*"</span><span>}  </span></span></li>
<li class='alt'><span>    ]  </span></li>
<li><span>};  </span></li>
</ol></div>
<br/>在上面的例子中,我们创建了只包含一个成员 <span><span class='string'>"bindings" </span></span>的一个对象,<span><span class='string'>bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:</span></span><span><span class='string'>"ircEvent",</span><span> </span><span class='string'>"method"</span><span>,</span><span class='string'>"regex"。<br/><br/>在javascript 中, 成员可以通过“点号”来获取。<br/>比如:<br/>
<div class='code_title'>js 代码</div>
<div class='dp-highlighter'><ol class='dp-c'>
<li class='alt'><span><span>myJSONObject.bindings[0].method  </span></span></li>
</ol></div>
<br/>通过eval() 函数可以将JSON字符串转化为对象。<br/>
<div class='code_title'>js 代码</div>
<div class='dp-highlighter'><ol class='dp-c'>
<li class='alt'><span><span class='keyword'>var</span><span> myObject = eval('(' + myJSONtext + ')');  </span></span></li>
</ol></div>
<br/>eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可信任的。<br/><br/>如果基于安全的考虑的话,最好是使用一个 </span></span>JSON 解析器。 一个<span><span class='string'> </span></span>JSON 解析器将只接受 JSON 文本。所以是更安全的。<br/>
<div class='code_title'>js 代码</div>
<div class='dp-highlighter'>
<div class='bar'> </div>
<ol class='dp-c'>
<li class='alt'><span><span class='keyword'>var</span><span> myObject = JSON.parse(myJSONtext, filter);  </span></span></li>
</ol></div>
<br/>可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:<br/><br/><span><span class='string'>
<div class='code_title'>js 代码</div>
<div class='dp-highlighter'><ol class='dp-c'>
<li class='alt'><span><span>myData = JSON.parse(text, </span><span class='keyword'>function</span><span> (key, value) {        <br/></span></span><ol>
<li class='alt'><span><span class='keyword'>return</span><span> key.indexOf('date') &gt;= 0 ? </span><span class='keyword'>new</span><span> Date(value) : value;    });  </span></span></li>
</ol></li>
</ol></div>
</span></span><span><span class='string'><br/></span></span><span><span class='string'><span><span>stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。</span></span></span></span><br/><span><span class='string'>
<div class='code_title'>js 代码</div>
<div class='dp-highlighter'><ol class='dp-c'>
<li class='alt'><span><span class='keyword'>var</span><span> myJSONText = JSON.stringifier(myObject);  </span></span></li>
</ol></div>
<br/>这里是一个开源的 </span></span><a href='http://www.json.org/json2.js'>JSON parser and JSON stringifier</a></div>
<div class='quote_div'>白痴</div>
<p> </p>
2 楼 tonyhelp 2008-09-17  
我也翻译过这篇文章

我也用过 DOJO ,现在改用 jQuery了
1 楼 wangsong76 2008-08-22  
我也翻译过这篇文章

我也用过 DOJO ,现在改用 jQuery了。

相关推荐

    javascript处理json字符串和json对象的类(含示例)

    功能:处理json数据 1.将json字符串转换成json对象 2.将json对象转换成json字符串

    javascript处理json字符串和json对象的类(含示例,最终版本)

    javascript处理json字符串和json对象的类。 可以把json对象转换成字符串, 也可以把json格式的字符串转换成json对象。 上一个版本有一个小问题,修改了。这是最终版本。 含有演示例子。

    JavaScript 中处理JSON

    JavaScript 中处理JSON

    Javascript解析JSON数据

    JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

    C#的JavaScript和Json帮助类

    JavaScript(简称JS)是一种面向对象的脚本语言,主要用于在网页上实现...在JavaScript中,可以使用JSON来表示和处理数据对象。JavaScript提供了内置的JSON对象,可以通过JSON对象的方法来解析和生成JSON格式的数据。

    ASP 处理JSON数据的实现代码

    ASP也能处理JSON数据?呵呵,刚才在Pjblog论坛上看到一个兄弟写的文章,没有测试,不过理论上一定是可以的~ 太晚了,不测试了。 以前处理JSON太麻烦了,输出还好说,循环一下就可以了,解析真的很头疼。所以遇到 这种...

    如何利用javascript接收json信息并进行处理

    javascript接收处理json信息 ajax获得接口信息,javascript本身处理json信息; 通过eval()把接收的json字符串变成真实的对象信息。 提供的json接口数据01.php: &lt;?php header("content-type:text/html;charset...

    使用 JavaScript 将 JSON 转换为对象,并使用 DOM API 将其呈现在 HTML 页面.html

    在 JavaScript 中,我们使用 JSON.parse() 方法将 JSON 转换为对象,并使用 DOM API 将其呈现在页面上。具体来说,我们创建一个 &lt;div&gt; 元素,用于显示转换后的结果,然后遍历对象的所有属性,为每个属性创建一个 &lt;p&gt;...

    JSON 强大的json处理类

    强大的json处理类 JSON(JavaScript Object ... JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言

    xmlhttp_asp+javascript+json+xml

    客户端用javascript建立xmlhttp对象, 采用规范化的dom来处理上传的xml格式数据, 通过eval方法解译服务端回传的json格式数据。 服务端用asp编写,通过response.binaryRead()解译上传数据, 处理完成后,把数据格式...

    JSON+JavaScript处理JSON的简单例子

    JSON+JavaScript处理JSON的简单例子,需要的朋友可以参考一下

    JavaScript JSON数据处理全集(小结)

    主要介绍了JavaScript JSON数据处理全集,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    javascript解析json格式的数据方法详解

    它是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。那么如何用JavaScript来解析json呢? 首先,科普一下json。在json中,有两种结构:对象和数组。 一个对象以“{...

    javascript操作JSON的要领总结

    同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。 本文主要是对JS操作JSON的要领做下总结。 在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左...

    JSON使用指南JSON 即 JavaScript Object Natation

    JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。

    Json+javascript歌曲清单源码

    Json+javascript歌曲清单源码 项目介绍: 1.服务器接受请求 后台一般处理程序,将音乐文件夹里, 音乐信息转换问Json字符串发送到客户端; 2.客户端将字符串转换为Json对象,将其绑定到页面上; 3.借用雅虎的播放器插件,将...

    JSON入门指南.doc

    JSON入门指南JSON 数据格式解析JavaScript 处理 JSON 数据

    json2 js json格式处理包

    当2009年12月ECMA大会通过ECMAScript编程语言标准第五版时,JSON成为JavaScript的内置特性。 json2.js:该文件在全局对象中创建一个JSON属性(如果还没有的话),将其值设置为一个包含stringify的对象方法和解析方法。...

    javascript读写json示例

    JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。 JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右...

Global site tag (gtag.js) - Google Analytics