jQuery普通对象与JSON串互相转换

本文介绍了一款jQuery插件,该插件简化了JavaScript对象与JSON字符串之间的转换过程。通过实例演示了如何将普通对象转化为JSON字符串,以及如何将JSON字符串还原为对象。此外还讨论了函数等特殊类型在转换过程中的表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.qttc.net/201306335.html


json串的方便已经通用性逐渐成为一种规范,通常我们生成json串都是使用服务器端语言生成,而只要掌握json语法规则也能把js对象生成json串。jQuery有一个插件可以轻易的实现普通对象与json串的互相转换。

一、下载插件

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

二、引入插件

要先引入jQuery后再引入插件。

三、普通对象转json串

代码:

1
2
3
4
5
6
7
8
9
var obj = {
    'name' : '琼台博客',
    'url'  : 'www.qttc.net',
    'desc' : '个人web技术博客',
    'author' : 'lee'
};
 
obj_json = $.toJSON(obj);
document.write(obj_json);

执行结果:

{"name":"琼台博客","url":"www.qttc.net","desc":"个人web技术博客","author":"lee"}

四、json串转普通对象

代码:

1
2
3
4
5
6
var json = '{"name":"琼台博客","url":"www.qttc.net","desc":"个人web技术博客","author":"lee"}';
var json_obj = $.evalJSON( json );
 
for(var i in json_obj){
    document.write(json_obj[i] + '<br />');
}

执行结果:

琼台博客
www.qttc.net
个人web技术博客
lee

五、注意问题

对象内有function不能转换到json对象,如:

1
2
3
4
5
6
7
8
9
10
11
12
var obj = {
    'name' : '琼台博客',
    'url'  : 'www.qttc.net',
    'desc' : '个人web技术博客',
    'author' : 'lee',
    'say' : function(){
        alert( $( this.name ) );
    }
};
 
obj_json = $.toJSON(obj);
document.write(obj_json);

执行:

{"name":"琼台博客","url":"www.qttc.net","desc":"个人web技术博客","author":"lee"}

say方法没有被json序化。

我们再把这个json串变成复杂点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var obj = {
    'name' : '琼台博客',
    'url'  : 'www.qttc.net',
    'desc' : '个人web技术博客',
    'author' : 'lee',
    'say' : function(){
        alert( $( this.name ) );
    },
    'mm' : false ,
    'gg' : true ,
    'tag' : [ '屌丝' , '程序员' , { '北漂':'yes' , '房奴':'期待' } ]
};
 
obj_json = $.toJSON(obj);
document.write(obj_json);

执行:

{"name":"琼台博客","url":"www.qttc.net","desc":"个人web技术博 客","author":"lee","mm":false,"gg":true,"tag":["屌丝","程序员",{"北漂":"yes","房 奴":"期待"}]}

看来,都没有问题,层级也保留了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值