4D v16.3

JSON Parse

Home

 
4D v16.3
JSON Parse

JSON Parse 


 

JSON Parse ( jsonString {; Typ} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
jsonString  String in Zu analysierender JSON String
Typ  Lange Ganzzahl in Typ, in den die Werte konvertiert werden sollen
Funktionsergebnis  Boolean, Objekt, Text, Zahl, Zeiger in Aus JSON String extrahierte Werte

Die Funktion JSON Parse analysiert den Inhalt einer in JSON formatierten Zeichenkette und extrahiert Werte, die Sie in einem 4D Feld oder einer Variablen speichern können. Diese Funktion deserialisiert Daten im JSON-Format; sie führt die entgegengesetzte Aktion der Funktion JSON Stringify durch.

In jsonString übergeben Sie die in JSON formatierte Zeichenkette, deren Inhalt Sie analysieren wollen. Sie muss korrekt formatiert sein, sonst wird ein Analyse-Fehler erzeugt. JSON Parse lässt sich von daher zum Bestätigen von JSON Strings verwenden. 

Hinweis: Beim Verwenden von Zeigern müssen Sie zuerst JSON Stringify und dann JSON Parse aufrufen.

Standardmäßig, d.h. ohne den Parameter Typ, versucht 4D, den erhaltenen Wert in den Variablen- oder Feldtypen zu konvertieren, der zum Speichern der Ergebnisse verwendet wird - sofern einer definiert wurde. Andernfalls versucht 4D, den Typ einzuschätzen. Über den Parameter Typ können Sie die Interpretation des Typs erzwingen. Übergeben Sie eine der folgenden Konstanten unter dem Thema Feld und Variablentypen:

Konstante Typ Wert
Is Boolean Lange Ganzzahl 6
Is date Lange Ganzzahl 4
Is longint Lange Ganzzahl 9
Is object Lange Ganzzahl 38
Is real Lange Ganzzahl 1
Is text Lange Ganzzahl 2

Hinweise:

  • Werte vom Typ Zahl müssen im Bereich ±10.421e±10 liegen
  • In Werten vom Typ Text müssen alle Sonderzeichen in Escape-Sequenzen stehen, inkl. Anführungszeichen (siehe Beispiele)
  • Datum in JSON muss im Format: "\"YYYY-MM-DDTHH:mm:ssZ\"" sein. Die Funktion geht davon aus, dass das 4D Datum eine lokale Zeit enthält und nicht GMT.

Beispiele für eine einfache Konvertierung:

 C_REAL($r)
 $r:=JSON Parse("42.17") //$r = 42,17 (Zahl)
 
 C_LONGINT($el)
 $el:=JSON Parse("120.13";Is longint//$el=120
 
 C_TEXT($t)
 $t:=JSON Parse("\"Jahr 42\"";Is text// $t="Jahr 42" (Text)
 
 C_OBJECT($o)
 $o:=JSON Parse("{\"name\":\"jean\"}")
  // $o = {"name":"jean"} (4D Objekt)
 
 C_BOOLEAN($b)
 $b:=JSON Parse("{\"manager\":true}";Is Boolean// $b=true

Beispiel zum Konvertieren eines Datums:

 $test:=JSON Parse("\"1990-12-25T12:00:00Z\"")
  // $test=1990-12-25T12:00:00Z
 C_DATE($date)
 $date:=JSON Parse("\"2008-01-01T12:00:00Z\"";Is date)
  //$date=01/01/08

Dieses Beispiel zeigt die kombinierte Verwendung der Befehle JSON Stringify und JSON Parse:

 C_TEXT($JSONContact)
 C_OBJECT($Contact;$Contact2)
 $Contact:=New object("name";"Monroe";"firstname";"Alan")
 
  // JSON Stringify: Ein Objekt in einen JSON String konvertieren
 $JSONContact:=JSON Stringify($Contact)
 
  // JSON Parse: Ein JSON String in ein neues Objekt konvertieren
 $Contact2:=JSON Parse($JSONContact)



Siehe auch 

Feld und Variablentypen
JSON PARSE ARRAY
JSON Stringify

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: JSON
Nummer: 1218

This command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: 4D v14

 
SCHLÜSSELWÖRTER 

JSON validator

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)