怎么修改多层json啊,求大神帮忙,谢谢

图片说明

将所有键名为list变成children,键名为name变成label怎么弄,写了半天只改到了第二层,第三层获取的数组里都是undefined,求大神帮忙

试试这个:

function rename(arr) {
    arr.forEach(item => {
        if (item.name) {
            item.label = item.name;
            delete item.name;
        }
        if (Array.isArray(item.list)) {
            item.children = item.list;
            delete item.list;
            rename(item.children);
        }
    });
}

console.log(JSON.parse(JSON.stringify(tree).replace(/"name"/g,'"label"').replace(/"list"/g,'"children"')));