四种字符串转json对象的方法(总结)



四种字符串转json对象的方法:
1、在js中把json字符串转json对象的最常见的一种方式如下,使用到eval
javascript代码
var jsonStr = '{"name": "ZhangSan", "age": 20}';
var json = eval("(" + jsonStr + ")");


    注意:的是要在json字符串的两边加上括号,然后再用eval函数就行转换!


2、另外一种是使用Function来进行转换,大致如下:
javascript代码
var jsonStr = '{"name": "ZhangSan", "age": 20}';
var json = (new Function("return " + jsonStr))();




    可以看到其原理就是拼接js代码字符串,然后使用Function创建一个匿名方法然后调用之! 在JavaScript中,函数(Function)就是对象,没有方法(函数)重载的概念。


3、还有一种是使用JSON全局对象,不过比较可惜的是IE8以下的版本木有这个对象,如果不考虑兼容IE8一下版本的话JSON全局对象是个很有用的东西,使用的代码如下:
javascript代码
var jsonStr = '{"name": "ZhangSan", "age": 20}';
var json = JSON.parse(jsonStr);
var str = JSON.stringify(json);




    JSON对象提供了两个很有用的方法,JSON.parse()方法接受一个字符串作为参数,返回一个json对象;JSON.stringify()方法则相反!
    PS:有一个比较常用的组建,叫做json2,这个组件也提供了一个全局对象,也是叫JSON,同样也有parse和stringify两个方法,使用这个组建可以很好的解决IE8以下版本
使用不了JSON全局变量的方法,需要这个组建的话请前往这里https://github.com/douglascrockford/JSON-js,在源代码专用意见有使用说明了!

    4、如果使用JQuery的话还有一个方法,就是jQuery.parseJSON()方法,和上面几个的效果一样,都是接受字符串返回json对象,代码如下:
javascript代码

var jsonStr = '{"name": "ZhangSan", "age": 20}';
var json = jQuery.parseJSON(jsonStr);

    需要注意的是,这个方法是1.4版本才有的!

总结:

1.第一种方法 用eval转换 是最常用的,个人认为最不容易出错。因为在编程的过程中,value 不一定为一个确定的值,即value可能是(数组)变量,此时用这种方法是没有任何的问题。而其他的三种均会出现报错
2.前两种方法中, key 可以不用引号,即直接写成以下的方式,也不会报错,而后两种方法则必须使用双引号。
	var jsonStr = '{"name": "ZhangSan", "age": 20}';

3.另外,在写key 和 value 时,最好是使用双引号将其引起来,不然在有些情况下,计算机可不认识你的单引号好了,以上就是我的一点小小总结与经验,希望对大家有所帮助!




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值