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
Is Boolean Entier long 6
Is date Entier long 4
Is longint Entier long 9
Is object Entier long 38
Is real Entier long 1
Is text Entier long 2

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_REAL($r)
 $r:=JSON Parse("42.17") //$r = 42,17 (réel)
 
 C_LONGINT($el)
 $el:=JSON Parse("120.13";Is longint//$el=120
 
 C_TEXT($t)
 $t:=JSON Parse("\"Année 42\"";Is text//$t="Année 42" (texte)
 
 C_OBJECT($o)
 $o:=JSON Parse("{\"name\":\"jean\"}")
     // $o = {"name":"jean"} (objet 4D)
 
 C_BOOLEAN($b)
 $b:=JSON Parse("{\"manager\":true}";Is Boolean//$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\"";Is date)
     //$date=01/01/08

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

 C_TEXT($JSONContact)
 C_OBJECT($Contact;$Contact2)
 $Contact:=New object("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 ARRAY
JSON Stringify
Types champs et variables

 
PROPRIÉTÉS 

Produit : 4D
Thème : JSON
Numéro : 1218

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)