json对象扁平化(转)

{  
hotelName:’abc’,
hotelAddress:’ 北京海淀路72号’,
Rooms:[ {roomName:’标准间’,roomPrice:720},
{roomName:豪华间,roomPrice:1020}],
HotelStar:4
}
//这时我们必需转换成如下格式才能正确提交到后台Action的对象上。


{
hotelName:’abc’,
hotelAddress:’ 北京海淀路72号’,
Rooms[0]: {roomName:’标准间’,roomPrice:720},
Rooms[1]: {roomName:豪华间,roomPrice:1020},
HotelStar:4
}
//格式转换代码:

var Convert={
_jsonFlat:function (data, parentPro, returnObj) {
if (data instanceof Object) {
for (varpro in data) {
try{
varproValue = eval("data." +pro.toString());
if(proValue instanceof Array) {
for (var i = 0; i <proValue.length; i++) {
if (parentPro){
Convert._jsonFlat(proValue[i], parentPro + "." + pro + "["+ i + "]", returnObj);
}
else
Convert._jsonFlat(proValue[i], pro + "[" + i + "]",returnObj);
}
continue;
}
if(proValue instanceof Object) {
if(parentPro)
Convert._jsonFlat(proValue, parentPro + "."+ pro, returnObj);
else
Convert._jsonFlat(proValue, pro, returnObj);

continue;
}
if(parentPro)
returnObj[parentPro + "." + pro] = proValue;
else
returnObj[pro] =proValue;

}
catch(e) { };
}
return;
}
//otherwiselike string/int/datetime format
returnObj[parentPro] = data;
},jsonFlat: function(data) {
//debugger;
if(data && data instanceof Object) {
varretObj = {};
Convert._jsonFlat(data, null, retObj);
returnretObj;
}
return null;
},
}

http://www.cnblogs.com/RobbinHan/archive/2011/11/25/2259825.html

转载于:https://www.cnblogs.com/sking7/archive/2011/11/28/2265824.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值