js中将字符串转换成json的三种方式_json

ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。

1,eval方式解析,恐怕这是最早的解析方式了。如下:

复制代码 代码如下:

function strToJson(str){
var json = eval('(' + str + ')');
return json;
}

记得别忘了str两旁的小括号。
2,new Function形式,比较怪异哦。如下

复制代码 代码如下:

function strToJson(str){
var json = (new Function("return " + str))();
return json;
}

3,使用全局的JSON对象,如下:

复制代码 代码如下:

function strToJson(str){
return JSON.parse(str);
}

目前 IE8(S)/Firefox3.5+/Chrome4/Safari4/Opera10 已实现了该方法,以下是部分资料:http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx https://developer.mozilla.org/en/Using_JSON_in_Firefox
使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下

复制代码 代码如下:

var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> parse error

name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。
另见:Chrome中JSON.parse的特殊实现

时间: 2024-11-05 00:16:10

js中将字符串转换成json的三种方式_json的相关文章

js 字符串转换成数字的三种方法_javascript技巧

方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型返回的都是NaN(Not a Number). 一些示例如下: 复制代码 代码如下: parseInt("1234blue");   //returns   1234parseInt("0xA");  

新手求教,字符串转换成JSON

问题描述 新手求教,字符串转换成JSON ActiveMQ消息队列:发布者代码:messagePublisher = (SimulatedMarketMessagePublisher)applicationContext.getBean(""messagePublisher""); Message message = new Message(); Head head = new Head(); SimTradeRecord str = new SimTradeRec

js实现数组转换成json

  本文给大家分享的是使用javascript实现的数组转换json的代码,非常简单实用,相当于JSON.stringify(array);,有需要的小伙伴可以参考下. js实现数组转换成json ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 function arrayToJson(o) { var r = []; if (typeof o == "string") return """

使用JSON.parse将json字符串转换成json对象的时候会出错_javascript技巧

在对数据库取出来的数据(特别是描述信息)里面含有特殊字符的话,使用JSON.parse将json字符串转换成json对象的时候会出错,主要是双引号,回车换行等影响明显,左尖括号和右尖括号也会导致显示问题,所以要在输出到页面进行json对象转换之前将一些特殊符合进行编码或转义,下面展示的是C#代码编码和转义几个常用特殊字符.经过笔者测试,将这些符号编码和转义之后,大部分json字符串都可以转换成json对象了.如果遇到个别问题,应朝着这个方向去查找问题. theString = theString

js中把JSON字符串转换成JSON对象最好的方法

 这篇文章主要介绍了js中把JSON字符串转换为JSON对象最好的方法,需要的朋友可以参考下 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析.   第一种解析方式:使用eval函数来解析,并且使用jQuery的each方法来遍历 用jQuery解析JSON数据的方法,作为jQuery异步请求的传输对象,jQuery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,

JS把字符串转成JSON对象方法介绍

在JS中,把 json 格式的字符串转成JSON对象,关键代码 例1  代码如下 复制代码 json = eval('('+str+')'); 方法如下:  代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&qu

C#中将字符串转换为整型的三种解决方法总结

在C#中,要将一个字符串或浮点数转换为整数,基本上有三种方法: (1)使用强制类型转换:(int)浮点数 (2)使用Convert.ToInt32(string) (3)使用int.Parse(string)或int.TryParse(string,out int) 在实际使用时,当要转换的字符串或数字带有小数时,发现它们有以下区别: (1)方法一:截断 方法二:四舍五入int a=(int)2.8; //结果为2 int b=Convert.ToInt32(2.8); //b的值为3 (2)i

.NET 字符串如何转换成JSON数据

问题描述 varsys_item={"sys_attrprice":{"17":{"detailImage":"20160111130446844.jpg","detailPrice":"25.0000","Id":"6","sellStock":"10","stock":"10

js实现数组转换成json_javascript技巧

js实现数组转换成json function arrayToJson(o) { var r = []; if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "