4D v16.3

JSON Stringify

Home

 
4D v16.3
JSON Stringify

JSON Stringify 


 

JSON Stringify ( Wert {; *} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Wert  Objekt, Array Objekt, String, Zahl, Datum, Zeit in Daten zum Konvertieren in JSON String
Operator in Formatierung aktivieren
Funktionsergebnis  Text in 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:

  • String Werte stehen in Anführungszeichen. Alle Unicode Zeichen sind verwendbar, bei Sonderzeichen wird ein umgekehrter Schrägstrich \ vorangestellt
  • Zahlen: Bereich ±10.421e±10
  • Booleans: String "true" oder "false"
  • Zeiger auf Feld, Variable oder Array (der Zeiger wird beim Umwandeln in String gewertet)
  • Datum (Typ Text)
  • Zeit (Typ Zahl)

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:

  • Standard Formatierung ohne Option *:

  • Formatierung mit Option * (pretty formatting):



Siehe auch 

JSON Parse
JSON Stringify array

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: JSON
Nummer: 1217

This command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: 4D v14

 
ARTIKELVERWENDUNG

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