1. jQuery插件支持的转换方式

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
  1. 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:

比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:

js 代码:
		var a={"name":"tom","sex":"男","age":"24"};
		var b='{"name":"Mike","sex":"女","age":"29"}';

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。

JSON.stringify(obj)将JSON转为字符串。

JSON.parse(string)将字符串转为JSON对象;

js 代码:
		var a={"name":"tom","sex":"男","age":"24"};
		 
		var b='{"name":"Mike","sex":"女","age":"29"}';
		 
		var aToStr=JSON.stringify(a);
		//或者
		//var last=a.toJSONString(); //将JSON对象转化为JSON字符
		alert(typeof(aToStr));  //string

		var bToObj=JSON.parse(b);
		//或者
		//var obj = b.parseJSON(); //由JSON字符串转换为JSON对象
		//然后,就可以这样读取:
		alert(typeof(bToObj));//object
		alert(bToObj.name);
		alert(bToObj.sex);
  1. Javascript支持的转换方式

ie8(兼容模式),ie7和ie6可以使用eval()将字符串转为JSON对象,

js 代码:
		var c='{"name":"Mike","sex":"女","age":"29"}';
		var cToObj=eval("("+c+")");
		alert(typeof(cToObj));

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

注意:
上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

4 .JSON官方的转换方式:

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