讓我們先從一個在此先感謝:)映射層次JSON到打字稿,KnockoutJS類型的對象
OK,所以我試圖加載/使用淘汰賽匹配JSON數據映射層次打字稿/ KnockoutJS類型類。映射插件,層次結構可以達到N級。
我知道我可以執行以下操作來從JSON數據映射/加載頂級類。
var qry = ko.mapping.fromJS(jsData, {}, new Query());
但我無法弄清楚是如何映射/負載複雜,N級,分級JSON數據到一組打字稿/ KnockoutJS類和構建父/子關係。
我已經讀過無數的articals,但是當涉及到簡單的父/子範例之外的層次關係時,它們都不足,而且我也找不到任何使用knockout.mapping插件的東西。
下面是我希望映射/加載的TypeScript類的定義。我是一個C++/C#開發人員,所以這種性質的JavaScript對我來說是非常新的。
打字稿對象
的JSON會是這個樣子:
{
"ID": 2,
"Name": "Northwind 2",
"RootTargetID": 2,
"RootTarget": {
"ID": 2,
"Name": "Customers",
"ParentID": null,
"FilterID": 2,
"Queries": [],
"Children": [],
"Parent": null,
"Selects": [
{
"ID": 3,
"Name": "CompanyName",
"Aggregation": "None",
"TargetID": 2,
"Target": null
},
{
"ID": 4,
"Name": "ContactName",
"Aggregation": "None",
"TargetID": 2,
"Target": null
}
],
"Filter": {
"FilterClauseID": 2,
"Type": "AND",
"Left": null,
"Right": null,
"ParentID": null,
"QueryTargets": [],
"Parent": null,
"Children": [
{
"FilterClauseID": 3,
"Type": "NE",
"Left": "Country",
"Right": "Germany",
"ParentID": 2,
"QueryTargets": [],
"Parent": null,
"Children": []
},
{
"FilterClauseID": 4,
"Type": "NE",
"Left": "Country",
"Right": "Mexico",
"ParentID": 2,
"QueryTargets": [],
"Parent": null,
"Children": []
}
]
}
}
}
解決以下 – DIGGIDY