4D v16.3JSON Stringify |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
JSON Stringify
|
JSON Stringify ( Wert {; *} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Wert | Objekt, Array Objekt, String, Zahl, Datum, Zeit |
![]() |
Daten zum Konvertieren in JSON String | |||||
* | Operator |
![]() |
Formatierung aktivieren | |||||
Funktionsergebnis | Text |
![]() |
String mit dem serialisierten JSON Text | |||||
Die Funktion JSON Stringify konvertiert den Parameter Wert in einen JSON String. Sie serialisiert Daten in JSON; sie führt die entgegengesetzte Aktion der Funktion JSON Parse durch.
In Wert übergeben Sie Daten zum Serialisieren. Sie lassen sich in skalarer Form, also String, Zahl, Datum oder Zeit, bzw. als 4D Objekt oder ein Objekt Array anzeigen.
In einem Objekt sind alle Typen verwendbar (siehe Abschnitt JSON Datentypen). Formatierung muss folgende Regeln berücksichtigen:
Sie können den optionalen Parameter * übergeben, um im resultierenden String Formatierungszeichen einzuschließen. Diese Option verbessert die Darstellung von JSON Daten (pretty formatting).
Skalare Werte konvertieren:
$vc:=JSON Stringify("Eureka!") // "Eureka!"
$vel:=JSON Stringify(120) // "120"
$vd:=JSON Stringify(!28/08/2013!) // "2013-08-27T22:00:00Z"
$vh:=JSON Stringify(?20:00:00?) // "72000000" Sekunden seit Mitternacht
Eine einfache Zeichenkette konvertieren:
$s:=JSON Stringify("{\"name\":\"john\"}")
// $s="{\\"name\\":\\"john\\"}"
$p:=JSON Parse($s)
// $p={"name":"john"}
Beispiel für Zeiger auf eine Variable:
C_OBJECT($MyTestVar)
C_TEXT($name ;$jsonstring )
OB SET($MyTestVar;"name";->$name) // Objekt Definition
// $MyTestVar= {"name":"->$name"}
$jsonstring :=JSON Stringify($MyTestVar)
// $jsonstring ="{"name":""}"
//...
$name:="Smith"
$jsonstring :=JSON Stringify($MyTestVar)
//$jsonstring = "{"name" : "Smith"}"
Ein 4D Objekt serialisieren:
C_TEXT($varjsonTextserialized)
C_OBJECT($Contact)
OB SET($Contact;"firstname";"Alan")
OB SET($Contact;"lastname";"Monroe")
OB SET($Contact;"age";40)
OB SET($Contact;"phone";"[555-0100,555-0120]")
$varjsonTextserialized:=JSON Stringify($Contact)
// $varjsonTextserialized = "{"lastname":"Monroe","phone":"[555-0100,
// 555-0120]","age":40,"firstname":"Alan"}"
Ein 4D Objekt mit und ohne den Parameter * serialisieren:
C_TEXT($MyContact)
C_TEXT($MyPContact)
C_OBJECT($Contact;$Children)
OB SET($Contact;"lastname";"Monroe";"firstname";"Alan")
OB SET($Children;"firstname";"Jim";"age";"12")
OB SET($Contact;"children";$Children)
$MyContact:=JSON Stringify($Contact)
$MyPContact:=JSON Stringify($Contact;*)
//$MyContact= {"lastname":"Monroe","firstname":"Alan","children":{"firstname":"John","age":"12"}}
//$MyPContact= {\n\t"lastname": "Monroe",\n\t"firstname": "Alan",\n\t"children": {\n\t\t"firstname": "John",\n\t\t"age": "12"\n\t}\n}
Der Vorteil dieser Formatierung wird deutlich, wenn JSON in einem Web Bereich angezeigt wird:
Produkt: 4D
Thema: JSON
Nummer:
1217
Erstellt: 4D v14
4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)