4D v16.3

JSON Parse

Accueil

 
4D v16.3
JSON Parse

JSON Parse 


 

JSON Parse ( chaîneJSON {; type} ) -> Résultat 
Paramètre Type   Description
chaîneJSON  Chaîne in Chaîne en JSON à analyser
type  Entier long in Type dans lequel convertir les valeurs
Résultat  Booléen, Objet, Pointeur, Réel, Texte in Valeurs extraites de la chaîne JSON

La commande JSON Parse analyse (parse) le contenu d’une chaîne formatée en JSON et en extrait des valeurs que vous pouvez stocker dans un champ ou une variable 4D. Cette commande désérialise des données JSON ; elle effectue l’action inverse de la commande JSON Stringify.

Passez dans chaîneJSON la chaîne au format JSON dont vous souhaitez analyser le contenu. Cette chaîne doit être correctement formatée, sinon une erreur de parsing est générée. JSON Parse peut donc être utilisée pour valider du JSON. 

Note : Si vous utilisez des pointeurs, vous devez appeler la commande JSON Stringify avant JSON Parse.

Par défaut, si vous omettez le paramètre type, 4D tentera de convertir la valeur obtenue dans le type de la variable ou du champ utilisé pour stocker le résultat (s’il est défini). Sinon, 4D tentera de déduire le type. Vous pouvez également forcer l’interprétation du type en passant le paramètre type : passez une des constantes suivantes du thème Types champs et variables :

Constante Type Valeur
Est un booléen Entier long 6
Est un entier long Entier long 9
Est un numérique Entier long 1
Est un objet Entier long 38
Est un texte Entier long 2
Est une date Entier long 4

Notes :

  • Les valeurs de type numérique doivent être incluses dans l'intervalle ±10.421e±10
  • Dans les valeurs de type texte, tous les caractères spéciaux doivent être échappés, y compris les guillemets (cf. exemples)
  • Les date JSON doivent être au format "\"YYYY-MM-DDTHH:mm:ssZ\"". La commande considère que la date 4D contient une heure locale et non GMT.

Exemples de conversions simples :

 C_REEL($r)
 $r:=JSON Parse("42.17") //$r = 42,17 (réel)
 
 C_ENTIER LONG($el)
 $el:=JSON Parse("120.13";Est un entier long//$el=120
 
 C_TEXTE($t)
 $t:=JSON Parse("\"Année 42\"";Est un texte//$t="Année 42" (texte)
 
 C_OBJET($o)
 $o:=JSON Parse("{\"name\":\"jean\"}")
     // $o = {"name":"jean"} (objet 4D)
 
 C_BOOLEEN($b)
 $b:=JSON Parse("{\"manager\":true}";Est un booléen//$b=vrai

Exemples de conversions de données de type date : 

 $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\"";Est une date)
     //$date=01/01/08

Cet exemple montre l’utilisation conjointe des commandes JSON Stringify et JSON Parse :

 C_TEXTE($JSONContact)
 C_OBJET($Contact;$Contact2)
 $Contact:=Creer objet("name";"Monroe";"firstname";"Alan")
 
  // JSON Stringify : conversion d’un objet JSON en chaîne JSON
 $JSONContact:=JSON Stringify($Contact)
 
  // JSON Parse : conversion d’une chaîne JSON en nouvel objet
 $Contact2:=JSON Parse($JSONContact)



Voir aussi  

JSON PARSE TABLEAU
JSON Stringify
Types champs et variables

 
PROPRIÉTÉS 

Produit : 4D
Thème : JSON
Numéro : 1218
Nom intl. : JSON Parse

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v14

 
MOTS-CLÉS 

JSON validator

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)