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