js里怎么把对象转化为json数据

JavaScript012

js里怎么把对象转化为json数据,第1张

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)