关闭

使用Javascript/jQuery将javascript对象转换为json格式数据

160人阅读 评论(0) 收藏 举报
分类:
Javascript自带的eval()函数能够将json数据转换成Javascript对象。但是,却没有提供将Javascript对象序列化为json格式的函数。

var json = '{"name":"John"}'; var obj = eval( '(' + json + ')' ); alert( obj.name );

jQuery中可以使用$.parseJSON(json)来将json转换为Javascript对象,但却没有提供将Javascript对象转换成json的函数。

var json = '{"name":"John"}'; var obj = $.parseJSON(json); alert( obj.name );

如果我们要把Javascript对象转化成json,发送给服务器,该怎么办呢?

其实很简单,可以使用jquery.json插件。

插件下载地址:http://code.google.com/p/jquery-json/

当前版本如下:jquery.json-2.4.js (压缩版:jquery.json-2.4.min.js

该插件提供了4个函数,用于解析和反解析json,具体如下:

?toJSON:将javascript的object, number, string, 或 array 转换成 JSON数据。

?evalJSON:把JSON格式数据转换成Javascript对象,速度很快,不过这点速度微不足道(作者自己说的)。

?secureEvalJSON:把JSON 转换成 Javascript对象,但是转换之前会检查被转换的数据是否是 JSON格式的。

?quoteString:在字符串两端添加引号,并智能转义(跳过)任何引号,反斜杠,或控制字符。

使用例子(注意需要和jQuery核心库结合使用):

var obj = {"plugin":"jquery-json","version":2.4}; //json = '{"plugin":"jquery-json","version":2.4}' var json = $.toJSON( obj ); // 得到name值为:"jquery-json" var name = $.evalJSON( json ).plugin; // 得到version值为:2.4 var version = $.evalJSON( json ).version;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:157487次
    • 积分:2019
    • 等级:
    • 排名:第19785名
    • 原创:17篇
    • 转载:180篇
    • 译文:1篇
    • 评论:17条
    最新评论