Я хочу реструктурировать json на основе исходных данных json и ожидаемых данных json.
Если вы внимательно посмотрите на исходные данные json, у меня есть страна за пределами атрибутов Мужской / Женский. Я хотел бы, чтобы модуль страны был внутри атрибута Мужской / Женский на основе атрибута ориентации внутри модуля страны. Таким образом, в последующих данных у меня был бы 1 модуль страны в атрибуте Male (так как есть 1 мужская запись) и 2 модуля страны в атрибуте Female (так как есть 2 женские записи).
Исходные данные JSON выглядят так:
{
"Implementations": [
{
"Male": {
"Gender": "Male"
},
"Female": {
"Gender": "Female"
},
"Country": [
{
"Orientation": "Male",
"Name": ABCD
},
{
"Orientation": "Female",
"Name": EFGH
},
{
"Orientation": "Female",
"Name": IJKL
}
],
"State": [
{
"Address": "XYZ Street",
"ZipCode": "US"
}
]
}
]
}
Ожидаемые данные JSON:
{
"Implementations": [
{
"Male": {
"Gender": "Male"
"Country": [
{
"Orientation": "Male",
"Name": ABCD
}
],
"State": [
{
"Address": "XYZ Street",
"ZipCode": "US"
}
]
},
"Female": {
"Gender": "Female"
"Country": [
{
"Orientation": "Female",
"Name": EFGH
},
{
"Orientation": "Female",
"Name": IJKL
}
],
"State": [
{
"Address": "XYZ Street",
"ZipCode": "US"
}
]
}
}
]
}
Программа:
var Implementations = {
"Implementations": [
{
"Male": {
"Gender": "Male"
},
"Female": {
"Gender": "Female"
},
"Country": [
{
"Orientation": "Male",
"Name": ABCD
},
{
"Orientation": "Female",
"Name": EFGH
},
{
"Orientation": "Female",
"Name": IJKL
}
],
"State": [
{
"Address": "XYZ Street",
"ZipCode": "US"
}
]
}
]
}
var output = [];
for (k in Implementations.Implementations.Male) {
var temp = [];
for (j in Implementations.Implementations.Male[k]) {
temp.push({
Country: j
});
}
output.push({
"Implementations": k,
Country: temp
});
}
console.log(output);
Заранее спасибо!