4D v14.3

JSON Stringify

Home

 
4D v14.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):

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: JSON
Nummer: 1217

 
GESCHICHTE 

New
Erstellt: 4D v14

 
SIEHE AUCH 

JSON Parse
JSON Stringify array

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)