Zacznijmy a dzięki z góry :)Mapowanie hierarchiczna JSON do maszynopis-KnockoutJS wpisane obiektu
OK, więc próbuję załadować/map hierarchicznej maszynopis/KnockoutJS wpisywanych klas z dopasowania danych JSON przy użyciu nokaut. mapowanie wtyczki, hierarchia może być do N-tego stopnia.
Wiem, że mogę wykonać następujące czynności, aby odwzorować/załadować klasę najwyższego poziomu z danych JSON.
var qry = ko.mapping.fromJS(jsData, {}, new Query());
Jednak nie mogę dowiedzieć się jak mapować/kompleks obciążenia, n-tej potęgi, hierarchicznych danych JSON do zestawu maszynopis/KnockoutJS klas i budowania relacji rodzic/dziecko.
Czytałem niezliczoną ilość artykułów, ale wszystkie one nie pasują do hierarchicznych relacji, które wykraczają poza proste przykłady dla rodziców/dzieci i nie mogę znaleźć żadnego z nich za pomocą wtyczki knockout.mapping.
Oto moje wycinane definicje klas TypeScript, które chcę zmapować/wczytać. Jestem programistą C++/C#, więc JavaScript tego typu jest dla mnie bardzo nowy.
maszynopis Przedmioty
JSON będzie wyglądać mniej więcej tak:
{
"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": []
}
]
}
}
}
roztwór dodano poniżej – DIGGIDY