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.
JSONSetElement(json;cléOuIndexOuChemin;valeur;type)
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).
Texte
FileMaker Pro 16.0
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. Lorsqu'une valeur
est ajoutée dans le paramètre json
, le paramètre type
indique la conversion de la valeur
en type JSON spécifique ou l'insertion de la valeur
sans modifier le type.
Paramètre | Type d'entrée pour le paramètre | Type de sortie |
| Texte FileMaker | Chaîne JSON (" ") |
| Nombre FileMaker | Nombre JSON |
| Objet JSON | Objet JSON ( { } ) |
| Tableau JSON | Tableau JSON ( [ ] ) |
| Valeur FileMaker ou valeur booléenne JSON | Valeur booléenne JSON |
| Type ignoré | Valeur nulle JSON |
| Elément JSON | Elément JSON (ou chaîne JSON, si la |
1. Vous pouvez spécifier un type
à l'aide de la valeur nommée ou de la valeur numérique indiquée entre parenthèses, par exemple, JSONString
ou 1.
Pour JSONBoolean
, si la valeur
est true
ou un nombre différent de zéro, elle est traitée comme vraie ; si la valeur
est false
ou zéro, elle est traitée comme fausse. 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 Si fonction.
Pour JSONRaw
, l'analyseur JSON traite la valeur
pour déterminer si elle utilise une syntaxe JSON valide. Si la valeur
est une valeur JSON valide, le résultat analysé est utilisé dans la valeur renvoyée par cette fonction, sans convertir d'éléments en types de données JSON. Tout les caractères se trouvant après le premier élément JSON dans la valeur
sont ignorés (par exemple si la valeur
est « 4,2 », seul « 4 » sera inséré, car la virgule est le séparateur entre les éléments d'une syntaxe JSON. Si la valeur
n'est pas une valeur JSON valide, elle est convertie en chaîne JSON valide dans la valeur renvoyée.
Vous pouvez également définir plusieurs éléments en fournissant un ensemble supplémentaire 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 ]
)
•Cette fonction n'est pas prise en charge dans les solutions d'exécution et renvoie « ? ».
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}.
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
}
}
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 ;
[ "boulangerie.produit[0].offre spéciale" ; 0 ; JSONBoolean ] ;
[ "boulangerie.produit[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
}