Nach dem Ändern bestehender JSON-Daten kann mit diesem Bereichs-Tag geprüft werden, ob diese erfolgreich war. Mit dem Einzel-Tag kann ein Fehler-Code ausgegeben werden.
Beachten Sie bitte, dass die Ausgabe eines Fehlers auch nach einer weiteren, erfolgreichen Modifizierung der JSON-Daten nicht wieder zurück gesetzt wird. D. h. auch wenn die nächste Änderung erfolgreich durchgeführt wurde, gibt EJD-ModificationOK dennoch einen Fehlercode aus. Deswegen muss die Ausgabe eines Fehlers mit dem Tag EJD-ResetModificationOK zurückgesetzt werden.
Wegweiser: JSON-Schnittstelle
Wegweiser: JSON-Schnittstelle: 5. JSON-Daten erstellen
Referenz: EJD-ResetModificationOK
Beispiel der JSON-Datei "<Produktnummer>.json"
{
"Produktname": "Sportlicher Sneaker",
"Produktnummer": "A-1234",
"AdditionalInfo":
{
"Beschreibung": "Moderne Schuhe für jeden Anlass",
"lieferbar": true,
"Crosslinks": [ "A-5678", "B-9876", "C-2323" ],
"Lagerbestand": 42,
"Preis": 59.95
}
}
Code-Beispiel:
~EJD-LoadData(global,$PR-Number$.json,jdat)~
{EJD-DataOK(jdat)}
<!-- Erste Veränderung: "lieferbar" auf false setzen -->
~EJD-DA-SetToFalse(AdditionalInfo.lieferbar,jdat)~
{EJD-ModificationOK}
JSON-Daten erfolgreich modifiziert: ~EJD-ModificationOK~<br>
{/EJD-ModificationOK}
{!EJD-ModificationOK}
Fehler: ~EJD-ModificationOK~<br>
{/!EJD-ModificationOK}
~EJD-ResetModificationOK~
<!-- Zweite (fehlerhafte) Veränderung: Crosslink hinzufügen -->
~EJD-DA-ArrayExtend(AdditionalInfo.Crosslinks,jdat)~
~EJD-DA-SetStringValue(Crosslinks[3],D-4711,jdat)~ <!-- "AdditionalInfo" fehlt im JSON-Pfad! -->
{EJD-ModificationOK}
JSON-Daten erfolgreich modifiziert: ~EJD-ModificationOK~<br>
{/EJD-ModificationOK}
{!EJD-ModificationOK}
Fehler: ~EJD-ModificationOK~<br>
{/!EJD-ModificationOK}
~EJD-ResetModificationOK~
<!-- JSON-Daten ausgeben (optional) -->
~EJD-RawDataOutput(jdat)~
{/EJD-DataOK(jdat)}
Ausgabe:
JSON-Daten erfolgreich modifiziert: 0
Fehler: 1
{
"Produktname": "Sportlicher Sneaker",
"Produktnummer": "A-1234",
"AdditionalInfo":
{
"Beschreibung": "Moderne Schuhe für jeden Anlass",
"lieferbar": false,
"Crosslinks": [ "A-5678", "B-9876", "C-2323", null ],
"Lagerbestand": 42,
"Preis": 59.95
}
}
Das Array "Crosslinks" wurde zwar erfolgreich erweitert (null), jedoch der Wert "D-4711" nicht eingefügt.
Fehlercodes von EJD-ModificationOK
Code |
Ursache |
0 |
Ok (kein Fehler) |
1 |
Versuch einen nicht existierenden Array-Eintrag zu modifizieren. |
2 |
Parent-Element vom übergebenen Pfad existiert nicht. |
3 |
(intern) calloc fehlgeschlagen |
4 |
(intern) strdup fehlgeschlagen |
5 |
(intern) realloc fehlgeschlagen |
6 |
EJD-DA-ArrayExtend() oder EJD-DA-DeleteElement(): Element existiert nicht. |
7 |
Keine Daten mit der übergebenen ID gefunden. |
8 |
Parsing-Fehler: EJD-RawDataOutput() bleibt gleich. Daten wurden aber intern geändert. |
9 - 12 |
EJD-DA-DeleteElement() spezifische Fehler: 9: JSON-Element oder dazugehörigen Parent nicht gefunden. 10: Array-Index konnte nicht ermittelt werden. 11: realloc fehlgeschlagen 12: (intern) nicht definierter Fehler |
13 |
EJD-DA-ArrayExtend(): Element ist kein Array. |
14 |
Es wurde versucht das Root-Element in etwas anderes als ein Array oder Objekt zu ändern. |
Verwendbar als …
Einzel-Tag |
+ |
Bereichs-Tag |
+ |
negatives Bereichs-Tag |
+ |
Schleifen-Tag |
– |
Zulässig in Templates …
Alle