JSONSetElement
Scopo
Aggiunge o modifica un elemento nei dati JSON specificato dal nome di un oggetto, da un indice di matrice o da un percorso.
Formato
JSONSetElement ( json ; chiaveOindiceOpercorso ; valore ; tipo )
Parametri
json - qualsiasi espressione di testo o campo contenente un oggetto o una matrice JSON.
chiaveOIndiceOPercorso - qualsiasi espressione di testo o campo che specifica il nome di un oggetto JSON (chiave), un indice di matrice o un percorso. Vedere
Utilizzo delle funzioni JSON.
valore - qualsiasi espressione o campo contenente un numero, testo o dati JSON.
tipo - un valore denominato che specifica il tipo di dati da impostare (vedere di seguito).
Tipo di dati riportato
Testo
Creata in
FileMaker Pro 16.0
Descrizione
Questa funzione restituisce json con valore impostato al parametro chiaveOIndiceOPercorso specificato. Se il parametro json è vuoto (""), questa funzione aggiunge valore a un oggetto JSON (tra parentesi graffe { }), a meno che la prima parte del parametro chiaveOIndiceOPercorso non inizi con un carattere "[". In tal caso, questa funzione aggiunge valore a una matrice JSON (tra parentesi [ ]).
Per il parametro tipo, utilizzare uno dei seguenti valori denominati per specificare il tipo di dati nel parametro valore.
tipo | valore specificato |
JSONString | Stringa (" ") |
JSONNumber | Numero |
JSONObject | Oggetto ( { } ) |
JSONArray | Matrice ( [ ] ) |
JSONBoolean | Booleano |
JSONNull | Nullo |
JSONRaw | Determinato dal parser JSON |
Per
JSONBoolean, se
valore è
true (in minuscolo), viene trattato come vero. In caso contrario, se
valore è true o false viene determinato nello stesso modo del parametro
test nella
funzione If.
Per JSONRaw, valore viene elaborato dal parser JSON. Se valore corrisponde a dati JSON validi, il risultato analizzato viene utilizzato nel valore restituito di questa funzione. In caso contrario, valore viene utilizzato come una stringa JSON.
È possibile impostare più elementi fornendo un insieme di parametri chiaveOIndiceOPercorso, valore e tipo aggiuntivo tra parentesi [ ] per ciascun elemento. La sintassi di seguito imposta N elementi in una volta sola:
JSONSetElement ( json ;
[ chiaveOIndiceOPercorso1 ; valore1 ; tipo1 ] ;
[ chiaveOIndiceOPercorso2 ; valore2 ; tipo2 ] ;
...
[ chiaveOIndiceOPercorsoN ; valoreN ; tipoN ] ;
)
Note
•Questa funzione non è supportata nelle soluzioni runtime e restituisce "?".
Esempio 1
Aggiunge una chiave e il relativo valore al livello principale di un oggetto JSON.
JSONSetElement ( "{ \"a\" : 11 }" ; "b" ; 22.23 ; JSONNumber ) restituisce {"a":11,"b":22.23}.
Esempio 2
Aggiunge un oggetto JSON come elemento di un altro oggetto JSON. Se la variabile $$JSON è impostata su
{
"a" : {
"id" : 12,
"lnk" : 34
}
}
allora
JSONFormatElements (
JSONSetElement ( $$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73 } " ;
JSONObject
)
)
restituisce
{
"a" :
{
"id" : 12,
"lnk" : 34
},
"b" :
{
"id" : 14,
"link" : 73
}
}
Esempio 3
Nei
Dati JSON di esempio memorizzati nella variabile $$JSON, modifica i valori delle chiavi "specialità" e "magazzino" nel primo elemento "prodotto" nella matrice.
JSONFormatElements (
JSONSetElement ( $$JSON ;
[ "prodotto.panificio[0].specialità" ; 0 ; JSONBoolean ] ;
[ "prodotto.panificio[0].magazzino" ; 0 ; JSONNumber ]
)
)
restituisce gli stessi dati in $$JSON, ma con il primo elemento della matrice "prodotto" modificato in
{
"categoria" : "Pani",
"id" : "FB1",
"nome" : "Donuts",
"prezzo" : 1,99,
"specialità" : false,
"magazzino" : 0
}
Argomenti correlati