- Dieses Thema hat 2 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Jahren, 9 Monaten von Torsten Uhr.
- Beitrag
-
- 20. Januar 2022 um 12:27 Uhr
Hallo!Ich bin bei der Verwendung der Konverter
- JSON -> XML und
- XML -> JSON
auf das Problem gestoßen, dass während der Konvertierungsschritte JSON -> XML und im Anschluss XML -> JSON im JSON-Output manche Feldtypen geändert wurden, obwohl ich diese nicht angefasst habe.
<h2>Beispiele</h2>
Ich habe das JSON mit beiden Transconnect-Mechanismen, die der JSON -> XML – Konverter anbietet durchgespielt
<h3>Beispiel mit Staxon</h3>
Eingang – JSON[{ "Gruppe": "", "Materialgruppe": null, "Identnummer": "100100" }]
Resultat – Konvertierung zu XML
<!-- Konten ITEM erzeugt durch Staxon --> <ITEM> <Gruppe></Gruppe> <Materialgruppe></Materialgruppe> <Identnummer>100100</Identnummer> </ITEM>
<p data-bidi-marker=”true”>Resultat – Konvertierung XML zu JSON
</p>[{ "Gruppe" : null, "Materialgruppe" : null, "Identnummer" : 100100 }]
<p data-bidi-marker=”true”>Fazit</p>
- Datentyp für Identnummer ändert sich von String zu Zahl
- Wert für Gruppe ändert sich vom leerer String zu NULL
<h3>Beispiel mit JSON Referenz</h3>
Eingang – JSON[{ "Gruppe": "", "Materialgruppe": null, "Identnummer": "100100" }]
Resultat – Konvertierung zu XML
<!-- Konten array erzeugt durch JSON Referenz--> <array> <Gruppe></Gruppe> <Materialgruppe>null</Materialgruppe> <Identnummer>100100</Identnummer> </array>
<p data-bidi-marker=”true”>Resultat – Konvertierung XML zu JSON
</p>[{ "Gruppe": "", "Materialgruppe": "null", "Identnummer": 100100 }]
<p data-bidi-marker=”true”>Fazit</p>
- Datentyp für Identnummer ändert sich von String zu Zahl
- Wert für Materialgruppe ändert sich von NULL zu einem String mit “null”
<h2>Frage / Wunsch</h2>
- zu Identnummer – Problem: Hier ist klar, dass man bei der automatischen Erkennug wenig Chancen hat den Datentyp beizubehalten, aber gibt es eine
- kurzfriste Lösung mittels eines Workarounds?
- langfristige Lösung in dem man den Konverter eine Art Mapping zur Verfügung stellt?
- zu Materialgruppe:
- kurzfristige Lösung für mich wäre hier in JSON-Text via Replace das “null” durch null zu ersetzen. Gibts evtl. noch eine andere Lösung?
- langfristige Lösung für mich: der Konverter interpretiert die “Materialgruppe”: null (JSON) als <Materialgruppe xsi:nil=”true”/> (XML) .
Viele Grüße,
Julian
00
- Antworten
-
- 20. Januar 2022 um 13:54 Uhr
Da eine automatische Konvertierung immer Einschränkungen unterliegt, wäre ein Workaround, das JSON-Dokument mittels XSLT direkt zu erzeugen.Vielen Dank auch für Ihren Verbesserungsvorschlag betreffs xsi:nil. Wir haben ihn als Feature-Request aufgenommen. Evtl. lässt sich mit xsi:type auch der Datentyp erhalten.
Ihr TRANSCONNECT-Team
00- 2. Februar 2022 um 14:48 Uhr
Die Version 2.3.5 ab Build 15863 wird im Prozesseditor eine neue Option bei der Konfiguration des JSON->XML Konverters erhalten, mit der gesteuert werden kann, ob null-Werte und Datentypen in das XML übernommen werden.Ihr TRANSCONNECT Team
00
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.