2016-09-25 5 views
-1

Gibt es eine Möglichkeit zum Deserialisieren eines JSON, das Verweise auf Objekte enthält, die bereits in ihm vorhanden sind, mit Typoskript?Deserialize Json mit Objektreferenzen

Zum Beispiel haben wir ein großartig Eltern „Papa“, die mit zwei Eltern „Papa“ und „Mama“, dass sie zusammen zwei Kinder verbunden ist, sieht die json wie:

{ 
    "id_": 1, 
    "name": "Papa", 
    "parents": [ 
    { 
     "@class": "com.doubleip.spot.mgmt.test.domain.model.Parent", 
     "id_": 1, 
     "name": "Dad", 
     "children": [ 
     { 
      "@class": "com.doubleip.spot.mgmt.test.domain.model.Child", 
      "id_": 1, 
      "name": "Bob" 
     }, 
     { 
      "@class": "com.doubleip.spot.mgmt.test.domain.model.Child", 
      "id_": 2, 
      "name": "Trudy" 
     } 
     ] 
    }, 
    { 
     "@class": "com.doubleip.spot.mgmt.test.domain.model.Parent", 
     "id_": 2, 
     "name": "Mom", 
     "children": [ 
     1, 
     2 
     ] 
    } 
    ] 
} 

Sie sehen können, dass Die Kinder von Mom werden nur als Wert ihres "id_" -Felds eingefügt. Dies geschieht aufgrund von JsonIdentityInfo, die in Java und der Bibliothek fasterxml verwendet wird.

Wir haben also Probleme bei der Front-End-Deserialisierung, wo wir Typoskript eckig und primeng verwenden, um unsere Daten zu visualisieren.

+0

Dies ist JSON von Jackson generiert; und enthält Jackson spezifische Magie. Sie müssen die IDs von den Daten manuell suchen, indem Sie eine "Map" verwenden. –

Antwort

1

So stehen wir vor Problem in Front-End-Deserialisation

Sie benötigen die meisten der Code selbst schreiben (oder erzeugen sie mehr Code von Java-Code verwenden).

Das heißt, es gibt ein paar Hydratisierung Helfer. Ich empfehle: https://github.com/mobxjs/serializr