0

UI のツリー テーブルに表示する必要があるサーバーからの JSON データがいくつかあります。そのために PrimeNG Tree Table コンポーネントを使用しています。私が直面している問題は、ツリー テーブルが特定の形式のデータを必要とすることです。

例えば:

これは私がサーバーから取得しているデータです:

{
    "records": [
        {
            "name":"Documents",
            "size":"75kb",
            "type":"Folder",
            sub-folder: [
                {
                    "name":"Work",
                    "size":"55kb",
                    "type":"Folder"
                },
                {
                    "name":"Expenses.doc",
                    "size":"30kb",
                    "type":"Document"
                }
            ]
        },
        {
            "name":"Documents",
            "size":"75kb",
            "type":"Folder",
            sub-folder: [
                {
                    "name":"Work",
                    "size":"55kb",
                    "type":"Folder"
                }
            ]
        }
    ]
}

ただし、ツリー テーブルには次の形式のデータが必要です。

{
    "data":
    [
        {
            "data":{
                "name":"Documents",
                "size":"75kb",
                "type":"Folder"
            },
            "children":[
                {
                    "data":{
                        "name":"Work",
                        "size":"55kb",
                        "type":"Folder"
                    },
                    "children":[
                        {
                            "data":{
                                "name":"Expenses.doc",
                                "size":"30kb",
                                "type":"Document"
                            }
                        },
                        {
                            "data":{
                                "name":"Resume.doc",
                                "size":"25kb",
                                "type":"Resume"
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

解析している JSON の複雑さが大きいため、これを手動で行うのは難しくなります。JSONデータをツリーテーブルが望む方法に自動マップする方法はありますか?

ツリー ノード インターフェイスは次のようになります。ツリー ノードは、ツリー テーブルの 1 つの行を表します。


export interface TreeNode {
    data?: any;
    children?: TreeNode[];
    leaf?: boolean;
    expanded?: boolean;
}


4

1 に答える 1