Tipo de dados JSON SQL Server JSON

Tipo de dados JSON SQL Server JSON
Notação de objeto JavaScript ou JSON para curta, é um formato de intercâmbio de dados usado no armazenamento e transporte de dados. É fortemente utilizado em aplicativos como bancos de dados de documentos que usam índices de documentos em vez de tabelas. É também a linguagem padrão para pontos de extremidade da API para operações como ingestão e resultados.

No SQL, podemos trabalhar com dados JSON e convertê -los em linhas e colunas, veremos neste tutorial.

O básico

Os dados JSON são organizados em conjuntos de chaves exclusivas e seus respectivos pares. Você também pode criar vários registros usando aparelhos encaracolados.

A string a seguir mostra um exemplo de um JSON válido:


"ID": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"date_of_birth": "1987-10-06",
"City": "Vladivostok",
"Country": "Turquemenistão",
"countrycode": "au",
"Email": "[email protected] ",
"Altura": 19.957,
"IS_EMPLAYED": true,
"Salário": "$ 120000",
"Departamento": "Desenvolvedor de Banco de Dados"

Usando vários métodos e funções, podemos validar dados JSON e transformá -los em uma tabela SQL.

SQL Server Valide JSON

O SQL Server fornece uma função para determinar se a string fornecida é um dados JSON válido ou não.

A sintaxe é como mostrado:

Isjson (expressão)

Onde a expressão se refere ao JSON real para se unir para testar a validade.

declarar@var nvarchar (max)
Definir @var = '

"ID": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
... truncado ..
"Salário": "$ 120000",
"Departamento": "Desenvolvedor de Banco de Dados"

'
if (isjson (@var)> 0)
começar
Imprima 'JSON válido'
fim

A consulta deve testar se a string fornecida for um JSON Data válido e retornar um número inteiro. 1 indica que a string é válida JSON e 0 se o contrário.

A consulta acima deve retornar:

JSON válido

SQL Server modificar dados JSON

O SQL Server também permite modificar dados armazenados em uma string json. Usando a função json_modify, você pode alterar o valor de uma propriedade JSON específica e retornar os dados da atualização JSON.

Por exemplo:

Declare @var nvarchar (max)
Definir @var = '

"ID": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Salário": "$ 120000",
"Departamento": "Desenvolvedor de Banco de Dados"

'
Definir @var = json_modify (@var, '$.departamento ',' desenvolvedor de jogos ');
selecione modificadojson = @var;

Depois que alteramos os dados, a função deve retornar o novo JSON, como mostrado:

SQL Server converte JSON para linhas

Podemos converter um JSON Data válido em um conjunto de fileiras de servidor SQL usando a função OpenJson, uma instrução Normal SQL Select.

O exemplo abaixo usa a função Openjson () para transformar o JSON em um lixo. Em seguida, usamos a instrução SELECT para consultar os dados.

Declare @var nvarchar (max)
Definir @var = '

"ID": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Salário": "$ 120000",
"Departamento": "Desenvolvedor de Banco de Dados"

'
Selecione *
de OpenJson (@var)
com (
id int 'rigoroso $.eu ia',
primeiro nome Varchar (50) '$.primeiro nome',
LastName Varchar (50) '$.sobrenome',
dinheiro salarial '$.salário',
Departamento Varchar (50) '$.departamento'
);

A consulta acima deve retornar a tabela SQL válida como mostrado:

Embora tenhamos usado uma corda JSON simples, a função Openjson () pode lidar com objetos JSON profundamente aninhados.

A propriedade estrita em um caminho exige que um valor deve existir na propriedade especificada da string json.

Converta dados do servidor SQL para JSON

Você pode exportar dados do SQL Server para JSON válido usando o parâmetro de caminho JSON. Por exemplo:

Use salesdb;
Selecione os 5 principais nameas "Produto.nome ", preço como" produto.preço"
De produtos
forjsonpath;

A consulta acima o nome e a coluna de preços da tabela de produtos, busque os 5 principais registros e exportá -los como JSON. A consulta deve retornar um hiperlink conter a string json:

Você pode abrir o hiperlink para ver a corda JSON armazenada como:

Conclusão

Este artigo ajuda você a começar a trabalhar com dados JSON no SQL Server. Você pode validar JSON no SQL Server, modificar Strings JSON, converter dados JSON em um lixo e como exportar dados do SQL Server para JSON.