Hallo zusammen,
ich habe ein typ. Dataset "KeyDataRS" (siehe Bild).
Die ParentID zeigt jeweils auf die ID eine Ebene höher.
In Ebene1 gibt es z.B. ID 1,2
In Ebene2 gibt es die ID 11,12 die auf ID 1 in Tabelle Ebene2 verweisen u.s.w.
Über die Number in KeydataRS muss dann aus einer anderen Tabelle z.B. der Name der Gruppe geholt werden.
Alles einzeln bekomme ich so hin, aber jetzt kommt mein Problem:
Der JSON muss dann folgenden Ausbau bekommen:
[{"op": "add", "path": "/groups", "value": [{"name": "1", "groups":[{"name":"11", "groups":[{"name":"21"}]},{"name":"12"}]}, {"name": "2" }]}]
Der Ansatz hat mir nicht so richtig weiter geholfen, weil die Objekte dann ja jedesmal geschlossen werden und ich keinen Tree bekomme:
Newtonsoft hat da sicher etwas passendes, aber ich finde es einfach nicht.
Hat jemand eine Idee?
Dank im Voraus
ich habe ein typ. Dataset "KeyDataRS" (siehe Bild).
Die ParentID zeigt jeweils auf die ID eine Ebene höher.
In Ebene1 gibt es z.B. ID 1,2
In Ebene2 gibt es die ID 11,12 die auf ID 1 in Tabelle Ebene2 verweisen u.s.w.
Über die Number in KeydataRS muss dann aus einer anderen Tabelle z.B. der Name der Gruppe geholt werden.
Alles einzeln bekomme ich so hin, aber jetzt kommt mein Problem:
Der JSON muss dann folgenden Ausbau bekommen:
[{"op": "add", "path": "/groups", "value": [{"name": "1", "groups":[{"name":"11", "groups":[{"name":"21"}]},{"name":"12"}]}, {"name": "2" }]}]
Der Ansatz hat mir nicht so richtig weiter geholfen, weil die Objekte dann ja jedesmal geschlossen werden und ich keinen Tree bekomme:
VB.NET-Quellcode
- For Each rowEbene1 As KeyDataRS.Ebene1Row In Form2.KeyDataRS.Ebene1
- 'füge zum JSON hinzu...
- For Each rowEbene2 As KeyDataRS.Ebene2Row In rowEbene1.GetEbene2Rows()
- 'füge zum JSON hinzu...
- For Each rowEbene3 As KeyDataRS.Ebene3Row In rowEbene2.GetEbene3Rows()
- 'füge zum JSON hinzu...
- For Each rowEbene4 As KeyDataRS.Ebene4Row In rowEbene3.GetEbene4Rows()
- 'füge zum JSON hinzu...
- Next
- Next
- Next
- Next
Newtonsoft hat da sicher etwas passendes, aber ich finde es einfach nicht.
Hat jemand eine Idee?
Dank im Voraus
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Tigerente“ ()