Tipo de datos JSON del servidor SQL

Tipo de datos JSON del servidor SQL
JavaScript Notation o JSON para abreviar, es un formato de intercambio de datos utilizado en el almacenamiento y el transporte de datos. Se utiliza fuertemente en aplicaciones como bases de datos de documentos que usan índices de documentos en lugar de tablas. También es el lenguaje estándar para los puntos finales de API para operaciones como la ingestión y los resultados.

En SQL, podemos trabajar con datos JSON y convertirlos en filas y columnas, veremos en este tutorial.

Los basicos

Los datos JSON se organizan en conjuntos de claves únicas y sus respectivos pares. También puede crear múltiples registros usando aparatos ortopédicos rizados.

La siguiente cadena muestra un ejemplo de un JSON válido:


"ID": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"date_of_birth": "1987-10-06",
"Ciudad": "Vladivostok",
"País": "Turkmenistán",
"CountryCode": "Au",
"Correo electrónico": "[email protected] ",
"Altura": 19.957,
"IS_Employed": True,
"Salario": "$ 120000",
"Departamento": "Desarrollador de bases de datos"

Utilizando varios métodos y funciones, podemos validar los datos de JSON y transformarlos en una tabla SQL.

SQL Server Validate JSON

SQL Server le proporciona una función para determinar si la cadena proporcionada es un datos JSON válidos o no.

La sintaxis es como se muestra:

Isjson (expresión)

Donde la expresión se refiere al JSON real a la cadena para probar la validez.

declarar@var nvarchar (max)
set @Var = '

"ID": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
... truncado ..
"Salario": "$ 120000",
"Departamento": "Desarrollador de bases de datos"

'
if (isjson (@var)> 0)
comenzar
Imprimir 'JSON válido'
fin

La consulta debe probar si la cadena proporcionada es un JSON datos válidos y devolver un entero. 1 indica que la cadena es válida JSON y 0 si.

La consulta anterior debe regresar:

JSON válido

SQL Server modifique los datos de JSON

SQL Server también le permite modificar los datos que se almacenan en una cadena JSON. Usando la función JSON_MODIFY, puede cambiar el valor de una propiedad JSON específica y devolver los datos de actualización de JSON de actualización.

Por ejemplo:

Declarar @Var Nvarchar (Max)
set @Var = '

"ID": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Salario": "$ 120000",
"Departamento": "Desarrollador de bases de datos"

'
set @Var = json_modify (@var, '$.departamento ',' desarrollador de juegos ');
Seleccione Modifiedjson = @Var;

Una vez que cambiamos los datos, la función debe devolver el nuevo JSON como se muestra:

SQL Server Convertir JSON a Rowset

Podemos convertir los datos JSON válidos en un conjunto de filas de SQL Server utilizando la función OpenJSON, una instrucción SQL SCELL normal.

El siguiente ejemplo usa la función OpenJSON () para transformar el JSON en un conjunto de filas. Luego usamos la instrucción SELECT para consultar los datos.

Declarar @Var Nvarchar (Max)
set @Var = '

"ID": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Salario": "$ 120000",
"Departamento": "Desarrollador de bases de datos"

'
seleccionar *
Desde Openjson (@var)
con (
ID int 'Strict $.identificación',
FirstName Varchar (50) '$.nombre de pila',
LastName Varchar (50) '$.apellido',
dinero salarial '$.salario',
Departamento Varchar (50) '$.departamento'
);

La consulta anterior debe devolver la tabla SQL válida como se muestra:

Aunque utilizamos una cadena JSON simple, la función OpenJSON () puede manejar objetos JSON profundamente anidados.

La propiedad estricta en una ruta requiere que exista un valor en la propiedad especificada de la cadena JSON.

Convertir los datos del servidor SQL a JSON

Puede exportar los datos del servidor SQL a JSON válido utilizando el parámetro de ruta for json. Por ejemplo:

Usar salesDB;
Seleccione el producto Top 5 Nameas ".nombre ", precio como" producto.precio"
De productos
forjsonpath;

La consulta anterior consulta la columna de nombre y precio de la tabla de productos, obtiene los 5 registros principales y exportalos como JSON. La consulta debe devolver un hipervínculo que contenga la cadena JSON:

Puede abrir el hipervínculo para ver la cadena JSON almacenada como:

Conclusión

Este artículo lo ayuda a comenzar a trabajar con datos JSON en SQL Server. Puede validar JSON en SQL Server, modificar las cadenas JSON, convertir los datos de JSON a un conjunto de showset y cómo exportar datos de SQL Server a JSON.