json 응답이 있습니다.이 json 데이터를 재귀 및 단순화하여 단순화하고 싶습니다. 나는이 시점에서 붙어있는 함수를 쓴다. 모든 데이터 요소를 제거하고 데이터 이름없이 새 개체를 만들고 싶습니다.Javascript Recursion JSON 데이터를 정규화하십시오.
내 JSON 데이터는이
[
{
"city": {
"data": {
"id": 649442,
"country_id": 54,
"state_id": 682,
"city_name": "Prague",
"state_name": "Praha"
}
},
"country": {
"data": {
"id": 54,
"data": {
"country_name": "Czech Republic",
"short_country": "CZ",
"olympic_code": "CZE"
}
}
}
}
]
처럼 그리고 내 기능은 여기에 있습니다 : 상기
function normalizeData(object) {
return Object.keys(object).reduce((finalObject, objectKey) => {
if (object[objectKey] && object[objectKey].data) {
finalObject[objectKey] = object[objectKey].data;
if (Array.isArray(finalObject[objectKey].data)) {
finalObject[objectKey] = object[objectKey].data.map(item => {
return normalizeData(item);
});
} else {
finalObject[objectKey] = normalizeData(object[objectKey].data);
}
} else {
finalObject[objectKey] = object[objectKey];
}
return finalObject;
}, {});
};
나는 여전히 데이터 객체를 얻고있다. 그래서 내가 실수하고있어. 아니면 이것을 할 수있는 더 좋은 방법이 있습니까?
SO Tan! 명확성을 위해 특정 키를 삭제하고 새롭고 치료 된 객체를 가져 오려고합니다. 권리? 그러나'id = 54'로 반대하는 것은 어떻게해야할까요? – Rajesh
이 예, ID 그렇게 유형의 데이터를 피하고 싶은 : (54)이 같아야 { "국가": { "ID": 54 } } –
은 입력의 예를 넣을 수 있다면 도움이 될 및 예상되는 출력. 감사. – acontell