JS中实现JSON对象和JSON字符串之间的相互转换

时间:2021-04-21 17:48:54

对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parsestringify方法实现了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对象,并提供parsestringify方法。

json2.js的源码可以在github上获取到,地址:https://github.com/douglascrockford/JSON-js

也可以通过NuGet包管理器获取,在“程序包管理控制台”输入命令: Install-Package json2