Référence > Page de référence des fonctions > Fonctions Texte > JSONSetElement
 
JSONSetElement
Objet 
Ajoute ou modifie un élément de données JSON défini par un nom d'objet, un index de tableau ou un chemin d'accès.
Format 
JSONSetElement ( json ; cléOuIndexOuChemin ; valeur ; type )
Paramètres 
json : une expression ou une rubrique de type Texte qui contient un objet ou un tableau JSON.
cléOuIndexOuChemin : une expression ou une rubrique de type Texte qui spécifie un nom d'objet, un index de tableau ou un chemin d'accès JSON. Consultez la section Utilisation des fonctions JSON.
valeur : une expression ou une rubrique qui contient un nombre, du texte ou des données JSON.
type : une valeur nommée qui spécifie le type de données à définir (voir ci-dessous).
Résultat 
Texte
Provenance 
FileMaker Pro 16.0
Description 
Cette fonction renvoie json avec la valeur définie dans le paramètre cléOuIndexOuChemin spécifié. Si le paramètre json est vide (""), cette fonction ajoute la valeur à un objet JSON (entre accolades { }), à moins que la première partie du paramètre cléOuIndexOuChemin commence par le caractère « [ ». Dans ce cas, cette fonction ajoute la valeur à un tableau JSON (entre crochets [ ]).
Pour le paramètre type, utilisez l'une des valeurs suivantes pour spécifier le type de données dans le paramètre valeur.
 
type
Indique que la valeur est
JSONString
Chaîne (" ")
JSONNumber
Nombre
JSONObject
Objet ( { } )
JSONArray
Tableau ( [ ] )
JSONBoolean
Booléen
JSONNull
Null
JSONRaw
A déterminer par l'analyseur JSON
Pour le type JSONBoolean, si la valeur est true (en minuscules), elle est traitée comme vraie. Sinon, la valeur est déterminée true ou false de la même manière que le paramètre test l'est dans la fonction Si.
Pour le type JSONRaw, la valeur est traitée par l'analyseur JSON. Si la valeur contient des données JSON valides, le résultat analysé est utilisé dans la valeur renvoyée par la fonction. Sinon, la valeur est utilisée comme chaîne JSON.
Vous pouvez également définir plusieurs éléments en fournissant un ensemble supplémentaires de paramètres cléOuIndexOuChemin, valeur et type entre crochets [ ] pour chaque élément. La syntaxe suivante définit les éléments N simultanément :
JSONSetElement ( json ;
   [ cléOuIndexOuChemin1 ; valeur1 ; type1 ] ;
   [ cléOuIndexOuChemin2 ; valueur2 ; type2 ] ;
   ...
   [ cléOuIndexOuCheminN ; valeurN ; typeN ]
)
Remarques 
Cette fonction n'est pas prise en charge dans les solutions d'exécution et renvoie « ? ».
Exemple 1 
Ajoute une clé et sa valeur à la racine d'un objet JSON.
JSONSetElement ( "{ \"a\" : 11 }" ; "b" ; 22.23 ; JSONNumber ) renvoie {"a":11,"b":22.23}.
Exemple 2 
Ajoute un objet JSON comme élément d'un autre objet JSON. Si la variable $$JSON est définie sur
{
"a" : {
"id" : 12,
"lien" : 34
}
}
alors
JSONFormatElements (
   JSONSetElement ( $$JSON ; "b" ; "{ \"id\" : 14, \"lien\" : 73 } " ;
      JSONObject
   )
)
Résultat
{
"a" :
{
"id" : 12,
"lien" : 34
},
"b" :
{
"id" : 14,
"lien" : 73
}
}
Exemple 3 
Modifie les valeurs des clés « offre spéciale » et « stock » du premier élément « produit » du tableau à partir de l'Exemple de données JSON stocké dans la variable $$JSON.
JSONFormatElements (
   JSONSetElement ( $$JSON ;
   [ "produit.boulangerie[0].offre spéciale" ; 0 ; JSONBoolean ] ;
   [ "produit.boulangerie[0].stock" ; 0 ; JSONNumber ] ;
   )
)
renvoie les mêmes données que dans la variable $$JSON mais modifie le premier élément du tableau « produit » en
{
"catégorie" : "Pains",
"id" : "FB1",
"nom" : "Donuts",
"prix" : 1,99,
"offre spéciale" : false,
"stock" : 0
}
Rubriques connexes 
Page de référence des fonctions (liste des catégories)
Page de référence des fonctions (liste alphabétique)
A propos des formules
A propos des fonctions
Définition de rubriques Calcul
Utilisation des opérateurs dans les formules
Utilisation des fonctions JSON