Riferimento > Funzioni > Funzioni Testo > JSONSetElement
 
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 
Funzioni (per categoria)
Funzioni (in ordine alfabetico)
Informazioni sulle formule
Informazioni sulle funzioni
Definizione di campi Calcolo
Utilizzo di operatori nelle formule
Utilizzo delle funzioni JSON