重新铸就Json

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../easyUI/jquery.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
</body>
<script type="text/javascript">
$.ajax({
type : "get",
data : '',
type:"get",
url : 'city_mendian2.json',
async : true,
success : function(infor){
console.log("-ljy1-",infor);
var wgw = function(json1){///
var json3 = [];
var keyMap = {}; //创建keyMap对象,将childCityId作为keyMap的key,key是判断是否相同的唯一的依据
for (var i = 0; i < json1.length; i++) {
  var json1Elem = json1[i];
  var elemKey = json1Elem.childCityId  // 用&或者_也可以将城市的id作为keyMap的键
  if (elemKey in keyMap) {   //如果json3中没有相同的就向json3中push
    json3[keyMap[elemKey]].childList.push(json1Elem);
  } else {
    json3.push({
      "childCity": json1Elem.childCity,
      "childCityId": json1Elem.childCityId,
      "childList": [json1Elem]
    });
    keyMap[elemKey] = json3.length - 1;
  }
}
return json3;
}
var json1 = infor;
var json2 = [];
var keyMap = {};
for (var i = 0; i < json1.length; i++) {
  var json1Elem = json1[i];
  var elemKey = json1Elem.childCityDirName  //根据字母分出组别
  if (elemKey in keyMap) {//判断是否已经存在字母
    json2[keyMap[elemKey]].data.push(json1Elem);
  } else {
    json2.push({//可以push{}对象
      "childCityDirName": json1Elem.childCityDirName,
      "data": [json1Elem]
    });
    keyMap[elemKey] = json2.length - 1;//keyMap = {t: 0, s: 1, z: 2} 储存字母的顺序
  }
}
console.log('"-ljy2-"',json2)

var json3 = [];
for(var j=0 ; j< json2.length;j++){
var json2Elem = json2[j];
var dddd = wgw(json2Elem.data);
json3.push({
      "childCityDirName": json2Elem.childCityDirName,
      "data": dddd
   });   
}
console.log('liy-',json3)
},
error:function(e){
}
});
</script>

</html>

json格式:

 [{
"childCity": "定西",
"childName": "定西神州二手车",
"childUid": "40955433477649",
"childCityDirName": "t",
"childCityId": "10322"
},{
"childCity": "石家庄",
"childName": "石家庄神州二手车",
"childUid": "41639863418640",
"childCityDirName": "s",
"childCityId": "241"
},{
"childCity": "石家庄",
"childName": "石家庄二手车",
"childUid": "41639863418640222",
"childCityDirName": "s",
"childCityId": "241"
},{
"childCity": "石家庄",
"childName": "石家庄沧州二手车",
"childUid": "41639863418640111",
"childCityDirName": "s",
"childCityId": "241"
},{
"childCity": "绥化",
"childName": "绥化神州二手车",
"childUid": "41639888850958",
"childCityDirName": "s",
"childCityId": "6718"
}, {
"childCity": "太原",
"childName": "太原神州二手车",
"childUid": "41639938991124",
"childCityDirName": "t",
"childCityId": "740"
},{
"childCity": "绵阳",
"childName": "神州买买车绵阳店",
"childUid": "49691180905748",
"childCityDirName": "m",
"childCityId": "1057"
}]

这是所要的形式:


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值