Tipo di dati JSON SQL Server

Tipo di dati JSON SQL Server
JavaScript Object Notation o JSON in breve, è un formato di scambio di dati utilizzato nell'archiviazione e nel trasporto di dati. È fortemente utilizzato in applicazioni come database di documenti che utilizzano indici di documenti anziché tabelle. È anche la lingua standard per gli endpoint API per operazioni come l'ingestione e i risultati.

In SQL, possiamo lavorare con i dati JSON e convertirli in righe e colonne, vedremo in questo tutorial.

Le basi

I dati JSON sono organizzati in serie di chiavi uniche e le rispettive coppie. È inoltre possibile creare più record utilizzando le parentesi graffe.

La seguente stringa mostra un esempio di JSON valido:


"id": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Date_of_birth": "1987-10-06",
"Città": "Vladivostok",
"Paese": "Turkmenistan",
"CountryCode": "Au",
"Email": "[email protected] ",
"Altezza": 19.957,
"is_employed": vero,
"Stipendio": "$ 120000",
"Dipartimento": "Sviluppatore del database"

Usando vari metodi e funzioni, possiamo convalidare i dati JSON e trasformarli in una tabella SQL.

SQL Server Convalida JSON

SQL Server fornisce una funzione per determinare se la stringa fornita è un dati JSON valido o meno.

La sintassi è come mostrata:

Isjson (espressione)

Laddove l'espressione si riferisce all'effettivo JSON alla stringa per testare la validità.

dichiarare@var nvarchar (max)
SET @VAR = '

"id": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
... troncato ..
"Stipendio": "$ 120000",
"Dipartimento": "Sviluppatore del database"

'
if (isjson (@var)> 0)
inizio
Stampa 'valido json'
FINE

La query dovrebbe testare se la stringa fornita è un dati JSON valido e restituire un numero intero. 1 indica che la stringa è valida JSON e 0 se altrimenti.

La query sopra dovrebbe tornare:

JSON valido

SQL Server Modifica i dati JSON

SQL Server consente anche di modificare i dati archiviati in una stringa JSON. Utilizzando la funzione JSON_MODIFICE, è possibile modificare il valore di una proprietà JSON specifica e restituire i dati JSON di aggiornamento.

Per esempio:

dichiarare @var nvarchar (max)
SET @VAR = '

"id": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Stipendio": "$ 120000",
"Dipartimento": "Sviluppatore del database"

'
Set @var = json_modify (@var, '$.Dipartimento "," sviluppatore di giochi ");
Seleziona modificatajson = @var;

Una volta modificati i dati, la funzione dovrebbe restituire il nuovo JSON come mostrato:

SQL Server Converti JSON in rowicet

Siamo in grado di convertire un dati JSON valido in un roweset SQL Server utilizzando la funzione OpenJSON, un'istruzione SQL Normale SQL.

L'esempio seguente utilizza la funzione OpenJSON () per trasformare il JSON in un rowicet. Utilizziamo quindi l'istruzione SELECT per interrogare i dati.

dichiarare @var nvarchar (max)
SET @VAR = '

"id": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Stipendio": "$ 120000",
"Dipartimento": "Sviluppatore del database"

'
Selezionare *
Da OpenJson (@Var)
con (
id int 'rigoroso $.id',
FirstName Varchar (50) '$.nome di battesimo',
LastName Varchar (50) '$.cognome',
Stipendi Money '$.stipendio',
Dipartimento Varchar (50) '$.Dipartimento'
);

La query sopra dovrebbe restituire la tabella SQL valida come mostrato:

Sebbene abbiamo usato una semplice stringa JSON, la funzione OpenJSON () può gestire oggetti JSON profondamente nidificati.

La proprietà rigorosa in un percorso richiede che un valore deve esistere nella proprietà specificata della stringa JSON.

Converti i dati SQL Server in JSON

È possibile esportare i dati SQL Server in JSON valido utilizzando il parametro per il percorso JSON. Per esempio:

Usa SalesDB;
Seleziona il prodotto Top 5 Nameas ".Nome ", prezzo come" Prodotto.prezzo"
Dai prodotti
forjsonpath;

La domanda sopra il nome e la colonna dei prezzi dalla tabella dei prodotti, prendono i primi 5 record ed esportano come JSON. La query dovrebbe restituire un collegamento ipertestuale contenere la stringa JSON:

Puoi aprire il collegamento ipertestuale per visualizzare la stringa JSON memorizzata come:

Conclusione

Questo articolo ti aiuta a iniziare a lavorare con i dati JSON su SQL Server. Sei in grado di convalidare JSON in SQL Server, modificare JSON Strings, convertire i dati JSON in un rowicet e come esportare i dati SQL Server in JSON.