我有一些来自服务器的JSON数据,必须在UI的树表中显示。我正在使用PrimeNG树表组件。我面临的问题是树表需要特定格式的数据。
例如:
这是我从服务器上得到的数据:
{
"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数据自动映射到树表想要的方式?
以下是树节点界面的样子。树节点表示树表的一行。
export interface TreeNode {
data?: any;
children?: TreeNode[];
leaf?: boolean;
expanded?: boolean;
}
我也遇到过同样的问题,不幸的是,在将其绑定到树之前,您必须编写自己的JSON解析器来更改格式。因为priming树模板与那些特定的键和基于该绑定的操作绑定在一起。