怎样将JS数组(元素为JS对象)转为Json格式?

JavaScript016

怎样将JS数组(元素为JS对象)转为Json格式?,第1张

json官网上有一个 json2 的库用于 json 相关的操作。比如:

// 将数组和对象转换成符合json格式的字符串:

// 引入 json2 库

text = JSON.stringify(['e', {pluribus: 'unum'}])

// text is '["e",{"pluribus":"unum"}]'

普通的数组格式是:['a','b','c']

JSON的格式是:{'1':'a','2':'b','3':'c'}

所以把数组循环一下就可以了;

var a = ['a','b','c']

var json = {}

for(var i=0i<a.lengthi++)

{

json[i]=a[i]

}

JSON.stringify(json) //结果:{'1':'a','2':'b','3':'c'}

1、javascript里面的数组都是关联数组吧?js对象的本质就是关联数组。索引数组也就是常说的数组,数组是对象,所以数组的本质也是关联数组,但通常没人这么说。2、唯一区别就是:索引数组的索引只能是0和正整数,但它是有序的。关联数组的索引很宽松,但关联数组是无序的,就这个。3、json对象是严格版本的关联数组。4、至少在chrome下,索引数组和关联数组的速度是一样的。5、索引数组的好处就是格式简单,关联数组的好处是键可以任意定义。现代浏览器中提供了JSON.stringify()方法将数组,对象转成json。JSON.stringify把一个对象转换成json字符串,JSON.parse把一个json字符串解析成对象。不支持的可以引入json2.js$.fn.stringifyArray=function(array){returnJSON.stringify(array)}$.fn.parseArray=function(array){returnJSON.parse(array)}然后调用:$("").stringifyArray(array)