1、在js中把json字符串转json对象的最常见的一种方式如下,使用到eval:四种字符串转json对象的方法:
注意:的是要在json字符串的两边加上括号,然后再用eval函数就行转换!javascript代码
2、另外一种是使用Function来进行转换,大致如下:
可以看到其原理就是拼接js代码字符串,然后使用Function创建一个匿名方法然后调用之! 在JavaScript中,函数(Function)就是对象,没有方法(函数)重载的概念。javascript代码
3、还有一种是使用JSON全局对象,不过比较可惜的是IE8以下的版本木有这个对象,如果不考虑兼容IE8一下版本的话JSON全局对象是个很有用的东西,使用的代码如下:
JSON对象提供了两个很有用的方法,JSON.parse()方法接受一个字符串作为参数,返回一个json对象;JSON.stringify()方法则相反!javascript代码
PS:有一个比较常用的组建,叫做json2,这个组件也提供了一个全局对象,也是叫JSON,同样也有parse和stringify两个方法,使用这个组建可以很好的解决IE8以下版本
使用不了JSON全局变量的方法,需要这个组建的话请前往这里https://github.com/douglascrockford/JSON-js,在源代码专用意见有使用说明了!
4、如果使用JQuery的话还有一个方法,就是jQuery.parseJSON()方法,和上面几个的效果一样,都是接受字符串返回json对象,代码如下:
需要注意的是,这个方法是1.4版本才有的!javascript代码var jsonStr = '{"name": "ZhangSan", "age": 20}'; var json = jQuery.parseJSON(jsonStr);
总结:
1.第一种方法 用eval转换 是最常用的,个人认为最不容易出错。因为在编程的过程中,value 不一定为一个确定的值,即value可能是(数组)变量,此时用这种方法是没有任何的问题。而其他的三种均会出现报错。
2.前两种方法中, key 可以不用引号,即直接写成以下的方式,也不会报错,而后两种方法则必须使用双引号。3.另外,在写key 和 value 时,最好是使用双引号将其引起来,不然在有些情况下,计算机可不认识你的单引号。好了,以上就是我的一点小小总结与经验,希望对大家有所帮助!var jsonStr = '{"name": "ZhangSan", "age": 20}';
四种字符串转json对象的方法(总结)
最新推荐文章于 2024-04-15 09:54:57 发布