Dati JSON in SQL Server
- 23-06-2022
- Toanngo92
- 0 Comments
I dati JSON sono un formato di dati testuali utilizzato per lo scambio di dati nelle moderne applicazioni WEB/Mobile.
JSON può anche essere usato per archiviare dati non strutturati in file di registro o database NoQL come Microsoft Azure Cosmos DB.
Molte aziende REST restituiranno risultati in formato testo JSON o riceveranno input in formato JSON.
Attraverso le funzioni integrate di SQL Server, possiamo:
- Analizza il testo JSON, modifica il valore.
- Converti gli array in oggetti JSON in formato tabella.
- Eseguire una query T-SQL con l’oggetto JSON convertito.
- Formatta l’output dell’istruzione T-SQL in formato JSON.
Alcune funzioni integrate che gestiscono JSON:
- ISJSON: verifica la validità di una stringa JSON.
- JSON_VALUE: genera un singolo valore da una stringa JSON.
- JSON_QUERY: oggetto di output o array dalla stringa JSON
- JSON_MODIFY: modifica il valore della stringa JSON
Mục lục
Modifica il valore JSON
Per modificare l’elemento del testo JSON, la funzione JSON_MODIFY viene utilizzata per aggiornare il valore della proprietà nella stringa JSON e restituire la stringa JSON aggiornata.
Per esempio:
DECLARE @json nvarchar(max); set @json = '{"info" : {"address": [{"town": "Belgrade"}, {"town" : "Paris"}, {"town": "Marid"}]}}'; SET @json = JSON_MODIFY(@json, '$.info.address[1].town' , 'London'); select modifiedJson = @json
OPENJSON per convertire JSON in dati di riga e colonna
Per esempio:
declare @json nvarchar(max); set @json = N'[ {"id": 2, "info": {"name": "john","surname": "smith"},"age": 25}, {"id": 5, "info": {"Jane": "john","surname": "smith"},"dob": "2005-11-04T12:00:00"} ]'; select * from OPENJSON(@json) with( id INT 'strict $.id', firstName nvarchar(50) '$.info.name', lastName nvarchar(50) '$.info.surname', age INT, dateofBirth datetime '$.dob' )
Esporta i dati di SQL Server in JSON
Per esempio:
use AdventureWorks2019; SELECT BusinessEntityID, FirstName as "info.name" , LastName as "info.surname", ModifiedDate as dob from Person.Person for json PATH