JSON-Funktionen
Victory unterstützt mit vielen Funktionen das kompakte Datenformat JSON (JavaScript Object Notation). Mit Hilfe von JSON lassen sich strukturierte Daten in einer kompakten lesbaren Zeichenkette abbilden. JSON formatierte Zeichenketten werden häufig zum Datenaustausch zwischen Anwendungen (z.B. Webservice und Client-Anwendungen) oder auch zum Speichern und Laden von Informationen verwendet. JSON kann als einfachere Alternative zu XML gesehen werden, da XML im Vergleich einen größeren Overhead und eine schlechtere Lesbarkeit aufweist.
Datentyp |
Beschreibung |
Null-Wert |
Besitzt ein Element keinen Wert, so wird es mit dem Schlüsselwort null belegt. |
Boolean |
Boolsche
Elemente besitzen den Wert true
und false. |
Number |
Numerische
Elemente werden als Ziffernfolge 0-9
und falls notwendig dem Dezimalpunkt .
als Nachkommastellentrenner dargestellt. |
String |
Ein Zeichenketten-Element beginnt
mit " und endet mit
" - dazwischen steht
der eigentliche Text. |
Array |
Ein Array
beginnt mit [ und endet
mit ]. Es enthält eine
durch Komma , getrennte
Liste von Elementen gleichen oder verschiedenen Datentyps. Leere
Arrays sind erlaubt. |
Object |
Ein Objekt
beginnt mit { und endet
mit }. Es enthält eine
durch Komma , geteilte
Liste von Objekt-Eigenschaften. Leere Objekte sind erlaubt. |
Um die Lesbarkeit zu erhöhen, darf eine JSON-formatierte Zeichenkette zusätzliche Füll-Leerzeichen und Zeilenumbrüche enthalten. Hierzu bietet Victory die Funktionen JsonExpand, JsonToString und JsonArrayToString, mit denen unstrukturierte JSON-Zeichenketten in strukturierte JSON-Zeichenketten gewandelt werden können und auch Funktionen, wie JsonCompact, JsonToStringCompact und JsonArrayToStringCompact, die unnötige Füllzeichen aus einer JSON-Zeichenkette entfernen, um eine kompakte JSON-Zeichenkette zu erhalten.
Hier als Beispiel eine kompakte JSON-Zeichenkette:
{"Produktliste":{"Produktgruppe":"PVC-isolierte
Starkstromkabel 0,6/1kV","Produkt":[{"Type":"E-YY
4 x 6 RE" },{"Type":"E-YY 1 x 16 RE"}]}}
und eine strukturierte JSON-Zeichenkette:
{
"Produktliste": {
"Produktgruppe": "PVC-isolierte Starkstromkabel
0,6/1kV",
"Produkt": [
{
"Type": "E-YY
4 x 6 RE",
"Aderanzahl": 4,
"Aussendurchmesser":
15,
"Belastbarkeit (Erde)":
59,
"Belastbarkeit (Luft)":
43,
"Verfügbar": true
},
{
"Type": "E-YY
1 x 16 RE",
"Aderanzahl": 1,
"Aussendurchmesser":
11,
"Belastbarkeit (Erde)":
107,
"Belastbarkeit (Luft)":
84,
"Verfügbar": false
}
]
}
}
Zum Anlegen eines JSON-Objekts gibt es verschiedene Funktionen: JsonCreate, JsonCreateFromFile und JsonCreateFromString. Da ein erzeugtes JSON-Objekt Arbeitsspeicher belegt, sollte es, wenn es nicht mehr benötigt wird, wieder geschlossen werden - hierzu dient die Funktion JsonClose.
Mit den JsonUpdate- und den JsonGet-Funktionen können Json-Elemente einfachst angelegt und ausgelesen werden. Da diese Funktionen mit Pfadangaben arbeiten, kann auch ein komplexes JSON-Objekt ohne großen Programmieraufwand schnell angelegt, mit neuen Werten versehen oder auch ausgelesen werden.
JsonUpdateBool, JsonUpdateNull, JsonUpdateNumber, JsonUpdateString
JsonGetBool, JsonIsNull, JsonGetNumber, JsonGetString
Die Json-Funktionen sind in zwei Gruppen eingeteilt: JSON-Objekt bezogene und JSONARRAY-Objekt bezogene Funktionen. Auf diese Basisfunktionen kann zurückgegriffen werden, wenn die einfacheren JsonUpdate- bzw. JsonGet-Funktionen nicht ausreichen, um eine Aufgabe zu lösen.
JsonAddArray,
JsonAddBool,
JsonAddNull,
JsonAddNumber,
JsonAddObject,
JsonAddString
JsonInsertArray,
JsonInsertBool,
JsonInsertNull,
JsonInsertNumber,
JsonInsertObject,
JsonInsertString
JsonDelete,
JsonRename
JsonClose, JsonCreate,
JsonCreateFromFile, JsonCreateFromString
JsonGetArray,
JsonGetBool, JsonGetNumber, JsonGetObject,
JsonGetString,
JsonGetRoot,
JsonGetSize,
JsonGetArraySize,
JsonGetType
JsonHasMember,
JsonIsNull
JsonSetBool,
JsonSetNull,
JsonSetNumber,
JsonSetString
JsonUpdateBool,
JsonUpdateNull,
JsonUpdateNumber,
JsonUpdateString
JsonToString,
JsonToStringCompact,
JsonExpand, JsonCompact
JsonArrayAddArray,
JsonArrayAddBool,
JsonArrayAddNull,
JsonArrayAddNumber,
JsonArrayAddObject,
JsonArrayAddString
JsonArrayInsertArray,
JsonArrayInsertBool,
JsonArrayInsertNull,
JsonArrayInsertNumber,
JsonArrayInsertObject,
JsonArrayInsertString
JsonArrayClear,
JsonArrayDelete
JsonArrayClose,
JsonArrayCreate,
JsonArrayCreateFromString
JsonArrayGetArray,
JsonArrayGetBool,
JsonArrayGetNumber,
JsonArrayGetObject,
JsonArrayGetSize,
JsonArrayGetString,
JsonArrayGetType
JsonArrayIsNull
JsonArraySetBool,
JsonArraySetNull,
JsonArraySetNumber,
JsonArraySetString
JsonArrayLoadFromString,
JsonArrayToString,
JsonArrayToStringCompact