Type de données JSON SQL Server

Type de données JSON SQL Server
La notation d'objet JavaScript ou JSON pour faire court, est un format d'échange de données utilisé pour stocker et transporter des données. Il est fortement utilisé dans des applications telles que les bases de données de documents qui utilisent des index de documents au lieu des tables. C'est aussi le langage standard pour les points de terminaison de l'API pour les opérations telles que l'ingestion et les résultats.

Dans SQL, nous pouvons travailler avec les données JSON et les convertir en lignes et colonnes que nous verrons dans ce tutoriel.

Les bases

Les données JSON sont organisées en ensembles de clés uniques et leurs paires respectives. Vous pouvez également créer plusieurs enregistrements à l'aide de bretelles bouclées.

La chaîne suivante montre un exemple de JSON valide:


"id": 1,
"Firstname": "Rosanne",
"LastName": "Carbo",
"Date_of_birth": "1987-10-06",
"City": "Vladivostok",
"pays": "Turkménistan",
"countrycode": "Au",
"Email": "Rosanne.carbo @ yopmail.com ",
"Hauteur": 19.957,
"is_ emploied": vrai,
"Salaire": "120000 $",
"Département": "développeur de base de données"

En utilisant diverses méthodes et fonctions, nous pouvons valider les données JSON et la transformer en un tableau SQL.

SQL Server valider JSON

SQL Server vous fournit une fonction pour déterminer si la chaîne fournie est une données JSON valides ou non.

La syntaxe est comme indiqué:

Isjson (expression)

Où l'expression fait référence au JSON réel à la chaîne pour tester la validité.

Declare @ var nvarchar (max)
définir @var = '

"id": 1,
"Firstname": "Rosanne",
"LastName": "Carbo",
… Tronqué…
"Salaire": "120000 $",
"Département": "développeur de base de données"

'
if (isjson (@var)> 0)
commencer
Imprimer «JSON valide»
fin

La requête doit tester si la chaîne fournie est une donnée JSON valide et renvoyer un entier. 1 indique que la chaîne est valide JSON et 0 si autrement.

La requête ci-dessus doit revenir:

JSON valide

SQL Server modifie les données JSON

SQL Server vous permet également de modifier les données stockées dans une chaîne JSON. À l'aide de la fonction JSON_MODIFY, vous pouvez modifier la valeur d'une propriété JSON spécifique et renvoyer les données JSON à mise à jour.

Par exemple:

Déclarer @var nvarchar (max)
définir @var = '

"id": 1,
"Firstname": "Rosanne",
"LastName": "Carbo",
"Salaire": "120000 $",
"Département": "développeur de base de données"

'
Définissez @var = json_modify (@var, '$.département ',' Game Developer ');
Sélectionnez Modifiedjson = @var;

Une fois que nous modifions les données, la fonction doit renvoyer le nouveau JSON comme indiqué:

SQL Server Converti JSON en Rowset

Nous pouvons convertir une donnée JSON valide en un ensemble de lignes SQL Server à l'aide de la fonction OpenJSON, une instruction SQL SELECT normale.

L'exemple ci-dessous utilise la fonction openjson () pour transformer le JSON en une ligne. Nous utilisons ensuite l'instruction SELECT pour interroger les données.

Déclarer @var nvarchar (max)
définir @var = '

"id": 1,
"Firstname": "Rosanne",
"LastName": "Carbo",
"Salaire": "120000 $",
"Département": "développeur de base de données"

'
sélectionner *
De OpenJSON (@var)
avec (
id int 'strict $.identifiant',
FirstName Varchar (50) '$.prénom',
LastName Varchar (50) '$.nom de famille',
Salaire Money '$.salaire',
Département Varchar (50) '$.département'
));

La requête ci-dessus doit retourner la table SQL valide comme indiqué:

Bien que nous ayons utilisé une chaîne JSON simple, la fonction openjson () peut gérer des objets JSON profondément imbriqués.

La propriété stricte dans un chemin nécessite qu'une valeur doit exister dans la propriété spécifiée de la chaîne JSON.

Convertir les données SQL Server en JSON

Vous pouvez exporter des données SQL Server dans JSON valide en utilisant le paramètre de chemin JSON For JSON. Par exemple:

Utiliser SalesDB;
Sélectionnez les 5 nameas top 5 ".nom ", prix comme" produit.prix"
Des produits
ForjsonPath;

La question ci-dessus de la colonne de nom et de prix de la table des produits, récupérez les 5 meilleurs enregistrements et exportez-les sous le nom de JSON. La requête doit renvoyer un hyperlien contenant la chaîne JSON:

Vous pouvez ouvrir l'hyperlien pour afficher la chaîne JSON stockée comme:

Conclusion

Cet article vous aide à commencer à travailler avec les données JSON dans SQL Server. Vous êtes en mesure de valider JSON dans SQL Server, de modifier les chaînes JSON, de convertir les données JSON en une bande et comment exporter les données SQL Server en JSON.