JavaScript中json字符串转换为json对象的几种方法

jQuery插件支持的转换方式:

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 

注:这种只需要引入jquery插件即可,支持IE7等,推荐使用,简单方便安全。

浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:

JSON.parse(jsonstr); //可以将json字符串转换成json对象 
JSON.stringify(jsonobj); //可以将json对象转换成json对符串 

注:ie8(兼容模式),不支持ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。

Javascript支持的转换方式:

eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号

注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。

JSON官方的转换方式:

http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法; 
可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js

注:如果需要JSON字符串转对象,又要JSON对象转字符串,建议使用这种方式。

附:
1、jQuery在IE8下的错误“对象不支持此属性或方法”的解决:

jquery2.0版本以上不再支持IE8以下,试下用jquery1.10

官网解释:
jQuery 2.x

jQuery 2.x has the same API as jQuery 1.x, but does not support Internet Explorer 6, 7, or 8. All the notes in the jQuery 1.9 Upgrade Guideapply here as well. Since IE 8 is still relatively common, we recommend using the 1.x version unless you are certain no IE 6/7/8 users are visiting the site. Please read the 2.0 release notes carefully.

2、jQuery判断checkbox是否选中的3种方法:
方法一:
if ($(“#checkbox-id”).get(0).checked) {
// do something
}

方法二:
if($(‘#checkbox-id’).is(‘:checked’)) {
// do something
}

方法三:
if ($(‘#checkbox-id’).attr(‘checked’)) {
// do something
}

3、JQuery设置onclick事件无效的处理方法:

//必须先清除原有的事件
$("#" + attrId).attr("onclick", "");
 //再重新绑定新的事件
 $("#" + attrId).bind("click", function() {

});
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值