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