首页 > 解决方案 > 如何删除 JSON Array 父级并保留子 json 数组

问题描述

我知道关于删除 specific 有很多问题JSON,但是当我尝试像我一样搜索任何特定问题以删除 JSON 数组时,我还没有找到它,所以我会在这里问:

我有一个像这样的json来自SQL Server Store Procedure

[
    {
        "KODE": [
            {
                "name": "kode",
                "value": [
                    {
                        "value": "DIAG001",
                        "RankNum": 1
                    },
                    {
                        "value": "DIAG002",
                        "RankNum": 1
                    },
                    {
                        "value": "DIAG003",
                        "RankNum": 1
                    },
                    {
                        "value": "DIAG004",
                        "RankNum": 1
                    }
                ]
            }
        ],
        "HEALING": [
            {
                "name": "Encountrance",
                "value": [
                    {
                        "Diagnosis_Code": "DIAG001",
                        "Name": "Subsequent"
                    },
                    {
                        "Diagnosis_Code": "DIAG002",
                        "Name": "Initial"
                    },
                    {
                        "Diagnosis_Code": "DIAG003",
                        "Name": "Initial"
                    },
                    {
                        "Diagnosis_Code": "DIAG004",
                        "Name": "Subsequent"
                    }
                ]
            }
        ]
    }
]

我想删除parent JSON arrayKODE, HEALING所以我的 json 看起来像:

[
    {
        "name": "kode",
        "value": [
            {
                "value": "DIAG001",
                "RankNum": 1
            },
            {
                "value": "DIAG002",
                "RankNum": 1
            },
            {
                "value": "DIAG003",
                "RankNum": 1
            },
            {
                "value": "DIAG004",
                "RankNum": 1
            }
        ]
    },
    {
        "name": "Encountrance",
        "value": [
            {
                "Diagnosis_Code": "DIAG001",
                "Name": "Subsequent"
            },
            {
                "Diagnosis_Code": "DIAG002",
                "Name": "Initial"
            },
            {
                "Diagnosis_Code": "DIAG003",
                "Name": "Initial"
            },
            {
                "Diagnosis_Code": "DIAG004",
                "Name": "Subsequent"
            }
        ]
    }
]

任何人都可以帮助我如何以编程方式做到这一点?

标签: javascriptjson

解决方案


您可以减少数组并将对象的值用于连接。

var data = [{ KODE: [{ name: "kode", value: [{ value: "DIAG001", RankNum: 1 }, { value: "DIAG002", RankNum: 1 }, { value: "DIAG003", RankNum: 1 }, { value: "DIAG004", RankNum: 1 }] }], HEALING: [{ name: "Encountrance", value: [{ Diagnosis_Code: "DIAG001", Name: "Subsequent" }, { Diagnosis_Code: "DIAG002", Name: "Initial" }, { Diagnosis_Code: "DIAG003", Name: "Initial" }, { Diagnosis_Code: "DIAG004", Name: "Subsequent" }] }] }],
    result = data.reduce((r, o) => r.concat(...Object.values(o)), []);
    
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }


推荐阅读