4D v14.3JSON Stringify |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
JSON Stringify
|
JSON Stringify ( valeur {; *} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
valeur | Objet, Tableau objet, Chaîne, Réel, Date, Heure |
![]() |
Données à convertir en chaîne JSON | |||||
* | Opérateur |
![]() |
Améliorer la présentation | |||||
Résultat | Texte |
![]() |
Chaîne contenant le texte JSON sérialisé | |||||
La commande JSON Stringify convertit le paramètre valeur en une chaîne JSON. Cette commande sérialise des données en JSON ; elle effectue l’action inverse de la commande JSON Parse.
Passez dans valeur les données à sérialiser. Elles peuvent être exprimées sous forme scalaire (chaîne, numérique, date ou heure) ou via un objet 4D (ou un tableau d’objets).
Dans le cas d’un objet, vous pouvez inclure tout type de valeurs (cf. paragraphe Types de données JSON). Le formatage JSON doit respecter les règles suivantes :
Vous pouvez passer le paramètre optionnel * afin d’inclure des caractères de formatage dans la chaîne résultante. Cette option permet d’améliorer la présentation des données JSON (pretty formatting).
Conversions de valeurs scalaires :
$vc:=JSON Stringify("Saperlipopette") // "Saperlipopette"
$vel:=JSON Stringify(120) // "120"
$vd:=JSON Stringify(!28/08/2013!) // "2013-08-27T22:00:00Z"
$vh:=JSON Stringify(?20:00:00?) // "72000000" secondes depuis minuit
Conversion d’une chaîne contenant des caractères spéciaux :
$s:=JSON Stringify("{\"name\":\"john\"}")
// $s="{\\"name\\":\\"john\\"}"
$p:=JSON Parse($s)
// $p={"name":"john"}
Exemple utilisant un pointeur vers une variable :
C_OBJET($MaVarTest)
C_TEXTE($name ;$jsonstring )
OB FIXER($MaVarTest;"name";->$name) // définition de l’objet
// $MaVarTest = {"name":"->$name"}
$jsonstring :=JSON Stringify($MaVarTest)
// $jsonstring ="{"name":""}"
//...
$name:="Smith"
$jsonstring :=JSON Stringify($MaVarTest)
//$jsonstring = "{"name" : "Smith"}"
Sérialisation d’un objet 4D :
C_TEXTE($varjsonTextserialized)
C_OBJET($Contact)
OB FIXER($Contact;"firstname";"Alan")
OB FIXER($Contact;"lastname";"Monroe")
OB FIXER($Contact;"age";40)
OB FIXER($Contact;"phone";"[555-0100,555-0120]")
$varjsonTextserialized:=JSON Stringify($Contact)
// $varjsonTextserialized = "{"lastname":"Monroe","phone":"[555-0100,
// 555-0120]","age":40,"firstname":"Alan"}"
Exemples de sérialisation d’un objet 4D avec et sans le paramètre * :
C_TEXTE($MyContact)
C_TEXTE($MyPContact)
C_OBJET($Contact;$Children)
OB FIXER($Contact;"lastname";"Monroe";"firstname";"Alan")
OB FIXER($Children;"firstname";"Jim";"age";"12")
OB FIXER($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}
L’intérêt de ce formatage apparaît clairement lorsque le JSON est représenté dans une zone Web :
Produit : 4D
Thème : JSON
Numéro :
1217
Nom intl. : JSON Stringify
Créé : 4D v14
JSON Parse
JSON Stringify tableau
4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)