js中js数组、对象与json之间的转换
在过程中,json是以⽂本,即串的形式传递的,⽽JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };
⼀、JSON字符串转换为JSON对象
要使⽤上⾯的str1,必须使⽤下⾯的⽅法先转化为JSON对象:
js逗号分割的字符串转数组
//由JSON字符串转换为JSON对象
var obj = eval_r('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
或者
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
然后,就可以这样读取:
Alert(obj.name);
Alert(obj.sex);
特别注意:如果obj本来就是⼀个JSON对象,那么使⽤eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使⽤parseJSON()函数处理后会有问题(抛出异常)。
⼆、可以使⽤toJSONString()或者全局⽅法JSON.stringify()将JSON对象转化为JSON字符串。
例如:
var JSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
上⾯的⼏个⽅法中,除了eval_r()函数是js⾃带的之外,其他的⼏个⽅法都来⾃json.js包。新版本的 JSON 修改了 API,将
JSON.stringify() 和 JSON.parse() 两个⽅法都注⼊到了 Javascript 的内建对象⾥⾯,前者变成了 JSONString(),⽽后者变成了String.parseJSON()。如果提⽰不到toJSONString()和parseJSON()⽅法,则说明您的json包版本太低。
实例代码:
var milasUrlArr=new Array();//新建⼀个数组
var subMilasUrlArr=new Array();//新建⼀个⼦数组
$(".innerTable1 tbody tr").each(function(){//遍历表格⾏
$(this).find("input").each(function(){
subMilasUrlArr.push($(this).val());//获取每⾏中的每个表格input数据,并存⼊⼦数组
})
milasUrlArr.push(subMilasUrlArr);//将⼦数组数据存进⽗数组
});
var milasUrl={};
for(var item in milasUrlArr){
milasUrl[item]= milasUrlArr[item];  //这样循环就可以将milasUrlArr数组中的属性包括⽅法copy到milasUrl对象中了
}
alert(JSON.stringify(milasUrl));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。