js和jquery里把json转为字符串的三种方法及在线实例演示推荐 亲测 原创 收藏

文章标签: json
  • :
  • 03-21 17:10
  • :
  • 363次
  • :
  • 0条
  • 3赞

简介本文总结了在js和jquery里,把json转换为字符串的三种方法,并且附带有完整的实例及在线演示。

以前站长写过一篇《jquery里把字符串转为json对象的四种方法,及每种方法的优缺点》,今天站长再来总结和整理一下如何把json转为字符串:

假设,我们有这样一个JSON数据:

var json={a:"aaa",b:"bbb",c:["c1","c2"]};
json.d="ddd";

下面来看把上面的JSON数据转为字符串的三种方法:

方法一:浏览器自带的 JSON.stringify :

和它相对应的是JSON.parse ,参考上面那篇文章里的方法三。

var str=JSON.stringify(json);
//输出为:{"a":"aaa","b":"bbb","c":["c1","c2"],"d":"ddd"}

注意:

Firefox,chrome,opera,等浏览器都支持JSON.stringify和JSON.parse,但IE6、IE7不支持。

方法二:使用JSON官方提供的方法:

需要到  https://github.com/douglascrockford/JSON-js  下载json2.js,引入到自己的网页里,然后就能使用下面这两个函数了:

parse()  把字符串转换为json,
stringify() 把json转换为字符串;

站长从没用过这种方法,所以不再给实例了。

方法三:是jquery里的一个方法:$.param();

其实,$.param()是用来把变量对象转为url格式数据的方法,但也能被我们拿来用作把json转为字符串。

$.param()的语法结构为:$.param(对象,true/false);

用文字表达不清楚,我们直接来看实例:

//所用的jsong还是上面实例里的json
var str=$.param(json);
//输出为:a=aaa&b=bbb&c%5B%5D=c1&c%5B%5D=c2&d=ddd

//可以看出,结果是经过url加密的,我们用decodeURIComponent解密看下:
var str=decodeURIComponent(str);
//输出为:a=aaa&b=bbb&c[]=c1&c[]=c2&d=ddd

//可以看出,结果并不是“传统的浅层序列化”,下面我们再加上$.param的第二个参数来看下:
var str=$.param(json,true);
var str=decodeURIComponent(str);
//输出为:a=aaa&b=bbb&c=c1&c=c2&d=ddd

相信你通过上面的实例,已经能明白了,要比用汉字来表达要清楚的多,下面这个是站长准备的在线实例演示:

把JSON转为字符串的在线演示



您正在找的文章可能是: