我試圖重新映射以下類型格式的JSON結構,然後每個類別可以包含多個位置。甲位置包含一個經度/緯度和區號: 將JSON對象重新映射到其他JSON結構
{
"cat1":[
{"location":{
"latitude":51.38,
"longitude":4.34,
"code":"0873"}
},
{"location":{
"latitude":52.65,
"longitude":6.74,
"code":"0109"}
},
{"location":{
"latitude":51.48,
"longitude":4.33,
"code":"0748"}
},
{"location":{
"latitude":51.48,
"longitude":4.33,
"code":"0109"}
}
],
"cat2":[
{"location":{
"latitude":52.33,
"longitude":4.32,
"code":"0873"}
},
{"location":{
"latitude":52.65,
"longitude":6.74,
"code":"0109"}
},
{"location":{
"latitude":51.48,
"longitude":4.33,
"code":"0728"}
}
],
"cat3":[
{"location":{
"latitude":52.33,
"longitude":4.32,
"code":"0873"}
},
{"location":{
"latitude":52.65,
"longitude":6.74,
"code":"0109"}
},
{"location":{
"latitude":51.48,
"longitude":4.33,
"code":"0758"}
}
]
}
成以下結構,即是主要集中於AREACODE,然後與在它們的實際位置的類別。
{
"code":[
{"0873":[
{"cat1":[
{"location":{"latitude":51.38,"longitude":4.34}}
]},
{"cat2":[
{"location":{"latitude":52.33,"longitude":4.32}}
]},
{"cat3":[
{"location":{"latitude":52.33,"longitude":4.32}}
]}
]},
{"0109":[
{"cat1":[
{"location":{"latitude":52.65,"longitude":6.74}},
{"location":{"latitude":51.48,"longitude":4.33}}
]},
{"cat2":[
{"location":{"latitude":52.65,"longitude":6.74}}
]},
{"cat3":[
{"location":{"latitude":52.65,"longitude":6.74}}
]}
]},
{"0748":[
{"cat1":[
{"location":{"latitude":51.48,"longitude":4.33}}
]}
]},
{"0728":[
{"cat2":[
{"location":{"latitude":51.48,"longitude":4.33}}
]}
]},
{"0758":[
{"cat3":[
{"location":{"latitude":51.48,"longitude":4.33}}
]}
]}
]
}
我嘗試做這在Javascript /節點,並尋找一個辦法做到這一點更優雅比手工遍歷所有對象和重組他們。 正在調查reorient和obstruction,但無法找到把它做的方式....
任何幫助表示讚賞!
我知道上面的部分是從文件中讀取然後解析爲對象的JSON字符串。
我必須做的,這是目前的代碼(它沒有完成,因爲我不知道什麼是做remapJson()
的最佳方式:
var fs = require('fs'),
jsonfile = require('jsonfile');
function remapJson(oldData) {
var newData = {};
// Do the convertion (loop all keys and values?)
return newData
}
obj = jsonfile.readFileSync('oldstructure.json');
jsonfile.writeFileSync('newstructure.json', remapJson(obj));
你可以添加你的代碼。請看看這裏:[mcve] –
我可以建議使用[javascript linq](https://linqjs.codeplex.com/) –
請看看這個:http://benalman.com/news/2010/ 03/theres-no-such-thing-as-a-json/ – 2017-01-16 13:28:46