JSON-Daten in SQL Server
- 23-06-2022
- Toanngo92
- 0 Comments
JSON-Daten sind ein Textdatenformat, das zum Austausch von Daten in modernen WEB-/Mobilanwendungen verwendet wird.
JSON kann auch verwendet werden, um unstrukturierte Daten in Protokolldateien oder NoQL-Datenbanken wie Microsoft Azure Cosmos DB zu speichern.
Viele REST-Unternehmen geben Ergebnisse im JSON-Textformat zurück oder erhalten Eingaben im JSON-Format.
Durch die integrierten Funktionen von SQL Server können wir:
- Analysieren Sie JSON-Text, bearbeiten Sie den Wert.
- Konvertieren Sie Arrays in JSON-Objekten in das Tabellenformat.
- Führen Sie eine T-SQL-Abfrage mit dem konvertierten JSON-Objekt aus.
- Formatieren Sie die Ausgabe der T-SQL-Anweisung im JSON-Format.
Einige integrierte Funktionen, die JSON verarbeiten:
- ISJSON: Überprüfen Sie die Gültigkeit einer JSON-Zeichenfolge.
- JSON_VALUE: gibt einen einzelnen Wert aus einer JSON-Zeichenfolge aus.
- JSON_QUERY: Ausgabeobjekt oder Array aus JSON-String
- JSON_MODIFY: JSON-String-Wert ändern
Mục lục
Ändern Sie den JSON-Wert
Um das Element des JSON-Texts zu bearbeiten, wird die JSON_MODIFY-Funktion verwendet, um den Wert der Eigenschaft in der JSOn-Zeichenfolge zu aktualisieren und die aktualisierte JSON-Zeichenfolge zurückzugeben.
Zum Beispiel:
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, um JSON in Zeilen- und Spaltendaten zu konvertieren
Zum Beispiel:
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' )
Exportieren Sie SQL Server-Daten in JSON
Zum Beispiel:
use AdventureWorks2019; SELECT BusinessEntityID, FirstName as "info.name" , LastName as "info.surname", ModifiedDate as dob from Person.Person for json PATH