Microsoft SQL Server Aggiungi un nuovo valore nell'array JSON


Esempio

La funzione JSON_MODIFY può essere utilizzata per aggiungere un nuovo valore ad un array all'interno di JSON:

update Product
set Data = JSON_MODIFY(Data, 'append $.tags', "sales")
where ProductID = 17;

Il nuovo valore verrà aggiunto alla fine dell'array o verrà creato un nuovo array con valore ["vendite"]. La funzione JSON_MODIFY tratterà il nuovo valore come stringa (sfugge ai caratteri speciali, lo avvolge con virgolette doppie per creare una stringa JSON corretta). Se il tuo nuovo valore è frammento JSON, dovresti eseguirlo con la funzione JSON_QUERY:

update Product
set Data = JSON_MODIFY(Data, 'append $.tags', JSON_QUERY('{"type":"new"}'))
where ProductID = 17;

La funzione JSON_QUERY senza secondo parametro si comporta come un "cast su JSON". Poiché il risultato di JSON_QUERY è un frammento JSON valido (oggetto o array), JSON_MODIFY non sfuggirà a questo valore quando modifica l'input JSON.