{
"code": "冀A",
"city": "石家庄",
"province": "河北",
"Pcode": "HB"
},
{
"code": "冀B",
"city": "唐山",
"province": "河北",
"Pcode": "HB"
},
{
"code": "冀C",
"city": "秦皇岛",
"province": "河北",
"Pcode": "HB"
},
{
"code": "冀D",
"city": "邯郸",
"province": "河北",
"Pcode": "HB"
},
{
"code": "冀E",
"city": "邢台",
"province": "河北",
"Pcode": "HB"
}
由这种格式转化为
{
"province": "河北",
"pCode": "HB",
"children": [
{
"city": "石家庄",
"code": "冀A"
},
{
"city": "唐山",
"code": "冀B"
},
{
"city": "秦皇岛",
"code": "冀C"
},
{
"city": "邯郸",
"code": "冀D"
},
{
"city": "邢台",
"code": "冀E"
},
{
"city": "保定",
"code": "冀F"
},
{
"city": "张家口",
"code": "冀G"
},
{
"city": "承德",
"code": "冀H"
},
{
"city": "沧州",
"code": "冀J"
},
{
"city": "廊坊",
"code": "冀R"
},
{
"city": "沧州",
"code": "冀S"
},
{
"city": "衡水",
"code": "冀T"
}
]
}
这种格式。
具体做法(里面用了angular.js的做法,如果换源生或者JQ的话换成for循环就好,影响不大)
$http.get('js/che.json').success(function(data) {
console.log(data)
var carViolation = [];
var carViolation2 = {};
angular.forEach(data, function(item) {
if (carViolation2.province != item.province) {
var carViolationJson = {};
carViolationJson.province = item.province;
carViolationJson.Pcode = item.Pcode;
carViolationJson.children = [];
carViolation.push(carViolationJson);
}
carViolation2.province = item.province;
});
angular.forEach(data, function(item) {
for (var i = 0; carViolation.length > i; i++) {
var childrenJson = {};
childrenJson.city = item.city;
childrenJson.code = item.code;
if(carViolation[i].province == item.province){
carViolation[i].children.push(childrenJson);
}
}
})
console.log(carViolation)
});