目前主要的数据交换格式是XML和JSON,两者相比较而言个人更喜欢轻量级的JSON。 在平时的工作中,一个好的工具能让工作更加的高效和轻松,在使用jQuery的时候,一个好的插件也能在很大的程度上减轻我们的工作量,虽然有些东西我们自己花点时间也是能弄出来的。下面介绍个jQuery的JSON插件。 jQuery-JSON是一个基于jQuery的插件,提供了更简便的方式转换和还原JSON格式的数据。

该插件的作者是Brantley Harris ,目前最新版本从文件名看是2.2,不过文件里的注释写的是2.1,具体原因不了解,可能是作者忘了更新注释了,不过并不影响使用,代码托管在Google上了, 地址:http://code.google.com/p/jquery-json/downloads/list

jQuery-Json扩展了jQuery($)对象,为jQuery增加了以下函数:

  1. toJSON:格式化一个 javascript对象(数组、对象、数字、字符串)为JSON格式。
  2. evalJSON:把格式化后的JSON数据转化回为javascript对象(数组、对象、数字、字符串)。
  3. secureEvalJSON:安全的把格式化后的JSON数据转化回为javascript对象(数组、对象、数字、字符串)。
  4. quoteString: 对字符串中的一些特殊字符进行转义处理。

示例:

1
2
3
4
5
6
7
8
9
10
<span style="color: #003366;font-weight: bold">var</span> thing <span style="color: #339933">=</span> <span style="color: #009900">{</span>plugin<span style="color: #339933">:</span> <span style="color: #3366CC">'jquery-json'</span><span style="color: #339933">,</span> version<span style="color: #339933">:</span> <span style="color: #CC0000">2.3</span><span style="color: #009900">}</span><span style="color: #339933">;</span><span style="color: #006600;font-style: italic">//js对象</span>
 
<span style="color: #003366;font-weight: bold">var</span> encoded <span style="color: #339933">=</span> $.<span style="color: #660066">toJSON</span><span style="color: #009900">(</span> thing <span style="color: #009900">)</span><span style="color: #339933">;</span>
<span style="color: #006600;font-style: italic">//转换为json,结果: '{"plugin":"jquery-json","version":2.3}'</span>
 
<span style="color: #003366;font-weight: bold">var</span> <span style="color: #000066">name</span> <span style="color: #339933">=</span> $.<span style="color: #660066">evalJSON</span><span style="color: #009900">(</span> encoded <span style="color: #009900">)</span>.<span style="color: #660066">plugin</span><span style="color: #339933">;</span>
<span style="color: #006600;font-style: italic">//js对象.属性,结果: "jquery-json"</span>
 
<span style="color: #003366;font-weight: bold">var</span> version <span style="color: #339933">=</span> $.<span style="color: #660066">evalJSON</span><span style="color: #009900">(</span>encoded<span style="color: #009900">)</span>.<span style="color: #660066">version</span><span style="color: #339933">;</span>
<span style="color: #006600;font-style: italic">//结果: 2.3</span>