Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
Überblick über JSON Befehle

Überblick über JSON Befehle  


 

 

JSON Befehle generieren und analysieren Objekte der Programmiersprache im Format JSON. Das JSON Format ermöglicht insbesondere, über einen Web Browser auf 4D Anwendungen zuzugreifen (Daten und Struktur).

Die Programmiersprache von 4D v14 bietet als neues Haupt-Feature die Unterstützung von strukturierten Objekten, um den Austausch von strukturierten Daten zu erleichtern. Über die Befehle im Kapitel "JSON" kann 4D direkt mit JSON Objekten arbeiten, aber genauso mit "native" Objekten, d.h. mit von JSON inspirierter Struktur, die den Austausch mit vielen anderen Programmiersprachen möglich machen. Weitere Informationen dazu finden Sie im Kapitel Objekte (Sprache).

"JSON oder JavaScript Object Notation ist ein generisches text-basiertes Datenformat, das sich ableitet von der Objektnotation der ECMAScript Sprache" (Quelle: Wikipedia). JSON ist komplett unabhängig von Programmiersprachen, folgt aber vielen Konventionen, die Programmierer von C-basierten Sprachen (C++, JavaScript, Perl, u.v.a.) kennen. Dieses Format eignet sich besonders zum Datenaustausch.

Dieser Abschnitt gibt einen Überblick über die in JSON integrierten Merkmale für Notation. Eine ausführliche Beschreibung dazu finden Sie unter: www.json.org/index.html.

Die Syntax von JSON basiert auf folgenden Grundlagen:

  • Daten bestehen aus Name/Wert Paaren
  • Daten werden durch Komma getrennt
  • Objekte werden durch geschweifte Klammern { } definiert
  • Arrays werden durch eckige Klammern [ ] definiert

JSON Daten werden in Paaren Name/Wert oder Schlüssel/Wert ausgedrückt. Ein solches Paar enthält einen Feldnamen in Anführungszeichen, gefolgt von einem Doppelpunkt, und einen Wert. Zum Beispiel:

"vorName":"Hans"

Zur Info: Dieses Beispiel sieht in JavaScript folgendermaßen aus:

vorName="Hans"

Beachten Sie, dass Eigennamen diakritische Zeichen und Groß-/Kleinschreibung berücksichtigen. Schreiben Sie "VorName" anstelle von "vorname," erhalten Sie ein neues Name/Wert Paar.

JSON unterstützt folgende Wertetypen:

TypBeschreibungKommentar
StringJedes Unicode Zeichen mit Ausnahme von " und \. Werte wie Eigennamen, stehen in Anführungszeichen ("), z.B. "Stadt":"Berlin"</td></tr></table>[#/html]\ wird für Steuerzeichen verwendet:
\" = Anführungszeichen
\\ = Umgekehrte Schrägstriche
\/ = Schrägstrich
\b = Rückschritt
\f = Seitenvorschub
\n = Zeilenvorschub
\r = Zeilenschaltung
\t = Tabulator
\u = vier hexadezimale Stellen
ZahlZahl oder Zahl mit Fließkommaähnlich zu einer Zahl in C oder Java, mit Ausnahme von oktalen und hexadezimalen Formaten
Objekt{ }
Array[ ]
Booleantrue oder false
Nullnull

JSON Objekte werden mit Klammern definiert. Sie können eine undefinierte Anzahl von Name/Wert Paaren enthalten, z.B.:

{ "vorName":"Hans" , "nachName":"Dampf" }

JSON Objekte lassen sich in 4D über Variablen und Felder vom Typ Objekt speichern und verwalten (_O_C_OBJECT).

JSON Arrays werden mit Klammern definiert. Jedes Array kann eine undefinierte Anzahl Objekte enthalten:

{
    "Angestellte": [
        { "vorName":"Hans" , "nachName":"Dampf" },
        { "vorName":"Anna" , "nachName":"Schmid" },
        { "vorName":"Peter" , "nachName":"Meier" }
    ]
}

JSON Arrays lassen sich in 4D über Variablen und Felder vom Typ Collection speichern und verwalten (_O_C_COLLECTION).

4D unterstützt JSON Zeiger. Ein JSON Zeiger ist ein String, um im gesamten JSON Dokument auf einen bestimmten Feld- oder Schlüsselwert zuzugreifen. Gemäß Konvention kann eine URI mit einem JSON Zeiger in einer JSON Objekteigenschaft liegen, die den Namen "$ref" haben muss.

{
   "$ref":<path>#<json_pointer>
}

JSON Zeiger werden entweder durch Aufrufen des Befehls JSON Resolve pointers oder automatisch über Dynamische Formulare aufgelöst.

Weitere Informationen dazu finden Sie unter JSON Resolve pointers.

4D Datumsangaben, die von oder in das JSON Format konvertiert werden, berücksichtigen standardmäßig die Zeitzone des konvertierenden Rechners. Dieses Prinzip entspricht der Standardoperation von Java-Script. Zum Beispiel ergibt Konvertieren des Datums !23/08/2013! in Deutschland (GMT+2) als Ergebnis "2013-08-22T22:00:00Z" und umgekehrt. 

Dieses Standardverhalten können Sie mit dem Befehl SET DATABASE PARAMETER, Selektor Dates inside objects ändern, z.B. wenn Sie beim Implementieren von Exportoperationen keine Zeitzonen berücksichtigen wollen. Beachten Sie, dass dieser Selektor auch beeinflussen kann, wie Datumsangaben in Objekten gespeichert werden.

Weitere Informationen dazu finden Sie im Abschnitt .

Hinweis: Ab 4D v16 R6 werden auch JSON Datum-Strings im Format "YYYY-MM-DD" unterstützt. Weitere Informationen dazu finden Sie auf der Seite Kompatibilität, Option Verwende Datumstyp statt ISO Datumsformat in Objekten.



Siehe auch 

Objekte (Sprache)

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: JSON

 
SEITENINHALT 
 
GESCHICHTE 

Geändert: 4D v16 R5

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)