json对象扁平化(转)

本文详细介绍了如何将酒店信息(如名称、地址、房间类型和价格)转换为JSON格式,以便正确提交到后台Action对象。通过使用自定义的`_jsonFlat`函数进行格式转换,实现复杂数据结构的扁平化处理,简化数据处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

{  
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值