一个多层嵌套的json数据,我想取它每一个children下面的name值,请问怎么取?而且这个json的嵌套层数还可能会增加。

[

{
    "children": [
        
    ],
    "users": null,
    "id": "//嘿嘿嘿",
    "name": "嘿嘿嘿",
    "nikeName": null,
    "indexPeople": null,
    "phone": "2232223",
    "mailPhone": "2231113",
    "ade": "故事的故事告诉",
    "mailNumber": "1232333",
    "parentId": "/"
},
{
    "children": [
        {
            "children": [
                
            ],
            "users": null,
            "id": "//测试1234/测试1234565",
            "name": "测试1234565",
            "nikeName": null,
            "indexPeople": null,
            "phone": "3325663",
            "mailPhone": "3326663",
            "ade": "沙发沙发上地方",
            "mailNumber": "325666",
            "parentId": "//测试1234"
        }
    ],
    "users": null,
    "id": "//测试1234",
    "name": "测试1234",
    "nikeName": null,
    "indexPeople": null,
    "phone": "3325663",
    "mailPhone": "332552",
    "ade": "发斯蒂芬斯蒂芬是",
    "mailNumber": "326544",
    "parentId": "/"
},
{
    "children": [
        {
            "children": [
                
            ],
            "users": null,
            "id": "//违法监察机关/青白江执法队",
            "name": "青白江执法队",
            "nikeName": null,
            "indexPeople": null,
            "phone": "3325335",
            "mailPhone": "3323663",
            "ade": "公司公司归属感",
            "mailNumber": "326322",
            "parentId": "//违法监察机关"
        }
    ],
    "users": null,
    "id": "//违法监察机关",
    "name": "违法监察机关",
    "nikeName": null,
    "indexPeople": null,
    "phone": "3325336",
    "mailPhone": "3325336",
    "ade": "的桑葚是的故事告诉",
    "mailNumber": "326511",
    "parentId": "/"
}

]

阅读 3.6k
3 个回答
let json = [
{
    "children": [
        
    ],
    "users": null,
    "id": "//嘿嘿嘿",
    "name": "嘿嘿嘿",
    "nikeName": null,
    "indexPeople": null,
    "phone": "2232223",
    "mailPhone": "2231113",
    "ade": "故事的故事告诉",
    "mailNumber": "1232333",
    "parentId": "/"
},
{
    "children": [
        {
            "children": [
                
            ],
            "users": null,
            "id": "//测试1234/测试1234565",
            "name": "测试1234565",
            "nikeName": null,
            "indexPeople": null,
            "phone": "3325663",
            "mailPhone": "3326663",
            "ade": "沙发沙发上地方",
            "mailNumber": "325666",
            "parentId": "//测试1234"
        }
    ],
    "users": null,
    "id": "//测试1234",
    "name": "测试1234",
    "nikeName": null,
    "indexPeople": null,
    "phone": "3325663",
    "mailPhone": "332552",
    "ade": "发斯蒂芬斯蒂芬是",
    "mailNumber": "326544",
    "parentId": "/"
},
{
    "children": [
        {
            "children": [
                
            ],
            "users": null,
            "id": "//违法监察机关/青白江执法队",
            "name": "青白江执法队",
            "nikeName": null,
            "indexPeople": null,
            "phone": "3325335",
            "mailPhone": "3323663",
            "ade": "公司公司归属感",
            "mailNumber": "326322",
            "parentId": "//违法监察机关"
        }
    ],
    "users": null,
    "id": "//违法监察机关",
    "name": "违法监察机关",
    "nikeName": null,
    "indexPeople": null,
    "phone": "3325336",
    "mailPhone": "3325336",
    "ade": "的桑葚是的故事告诉",
    "mailNumber": "326511",
    "parentId": "/"
}
]
let result = JSON.stringify(json).match(/(?<=("name":")).*?(?=")/g)

写个递归方法来获取children里面name值,你最后想得到是个数组,[name1. name2, name3...],这样的格式,还是说数组里面是对象的格式呢?

谢邀!
问题是你提出来后怎么用?如果是简单的提取,其实可以很方便的用递归实现,但如果你需要把这些数据放入一个要求的格式话,需要做的处理就可能比较多啦。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题