나는 아주 간단한 json을 가졌지 만, 각 블록에서 나는 이와 같은 것을 얻었다.json 키의 반복 이름 바꾸기
var json = {
"name": "blabla"
"Children": [{
"name": "something"
"Children": [{ ..... }]
}
등등. 나는 얼마나 많은 아이들이 각 아이들의 내부에 재귀 적으로 있는지 모른다.
var keys = Object.keys(json);
for (var j = 0; j < keys.length; j++) {
var key = keys[j];
var value = json[key];
delete json[key];
key = key.replace("Children", "children");
json[key] = value;
}
이제 모든 "어린이"키를 소문자 "어린이"로 바꾸고 싶습니다. 다음 코드는 첫 번째 깊이에만 작동합니다. 어떻게 이것을 재귀 적으로 할 수 있습니까?
function transform(node) {
return {
name: node.name,
children: node.Children.map(transform)
};
}
var json = {
"name": "a",
"Children": [{
"name": "b",
"Children": [{
"name": "c",
"Children": []
}, {
"name": "d",
"Children": []
}]
}, {
"name": "e",
"Children": []
}]
};
console.log(transform(json));
아마도 해킹이 아니라 당신이 대답 한 후하지만 방법에 대한'VAR의 = JSON.stringify (JSON); var t = s.바꾸기 (/ "어린이"/ g, ""자녀 " '); var newJson = JSON.parse (t);'? – Bardy
고맙다 @ 버디. 매력처럼 작동 – Elsendion
야! 문제 없다! :) – Bardy