JS解析json数据(如何将json字符串转化为数组)

JavaScript016

JS解析json数据(如何将json字符串转化为数组),第1张

//通过eval() 函数可以将JSON字符串转化为对象

var obj = eval(t3)

for(var i=0i<obj.lengthi++){

for(var j=0j<obj[i].lengthj++){

alert(obj[i][j])}}/*//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

var jsonText = JSON.stringify(obj)

alert(jsonText)

//如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。

var myObject = JSON.parse(myJSONtext, filter)

//可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如://如myData = JSON.parse(text, function (key, value) {

return key.indexOf('date') = 0 ? new Date(value) : value })

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)

你网上下载json2.js ,直接使用json2.js 里面的方法,

var myObject = JSON.parse(_data)

alert("对象:"+myObject.msg)

// 转换成数组

var myobj = eval("["+_data+"]")

for (var i = 0i <myobj.lengthi++) {

alert("数组:"+myobj[i].msg)

}

//把json格式的字符串转成JSON对象

var json1 = '{"department": "中兵","address": "北京","contacts": "李硕","telphone": "15201274666","email": "li_shilei@yeah.NET","fax": "0108596666"}'

var json2 = '{"department": "中兵2","address": "北京2","contacts": "李硕2","telphone": "152012746662","email": "li_shilei2@yeah.Net","fax": "01085966662"}'

var jsonObj = $.parseJSON(json1)或用eval方法

//把数组转成JSON对象

var arr=new Array()

arr.push(json1)

arr.push(json2)

var b=JSON.stringify(arr)