js对象转json数据: JOSN.stringify()
json数据转js对象: JSON.parse()
<script>var obj = {
a : 'A',
b : 'B',
c : 'C'
}
var json = JSON.stringify(obj)
console.log(json)
console.log(typeof json)
console.log('--------------------------')
var obj2 = JSON.parse(json)
console.log(obj2)
console.log(typeof obj2)
</script>
Obj2str: function(o) {if (o == undefined) {
return ""
}
var r = []
if (typeof o == "string") return "\"" + o.replace(/([\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\""
if (typeof o == "object") {
if (!o.sort) {
for (var i in o)
r.push("\"" + i + "\":" + fn.Obj2str(o[i]))
if (!!document.all &&!/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {
r.push("toString:" + o.toString.toString())
}
r = "{" + r.join() + "}"
} else {
for (var i = 0i <o.lengthi++)
r.push(fn.Obj2str(o[i]))
r = "[" + r.join() + "]"
}
return r
}
return o.toString().replace(/\"\:/g, '":""')
}
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)