对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间的相互转换,例如:
// JSON对象转JSON字符串,输出:"{\"name\":\"zhangsan\",\"age\":10,\"birthday\":\"2017-08-15T07:09:48.724Z\"}"
var str = JSON.stringify({ name: "zhangsan", age: 10, birthday: new Date() }); // JSON字符串转JSON对象
var obj = JSON.parse("{\"name\":\"zhangsan\",\"age\":10,\"birthday\":\"2017-08-15T07:09:48.724Z\"}");
注意:日期是按照国际时间转成字符串,比本地时间少8小时。
有些浏览器可能没有提供JSON对象,比如:ie7,ie6等,这种情况下,我们可以引用 json2.js ,该js中判断了浏览器是否定义JSON对象,如果没有,则定义JSON对象,并提供parse和stringify方法。
json2.js的源码可以在github上获取到,地址:https://github.com/douglascrockford/JSON-js
也可以通过NuGet包管理器获取,在“程序包管理控制台”输入命令: Install-Package json2