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