01.06.2015, 00:00 Uhr
SQL Server 2016 spricht JSON
Die nächste Version von Microsofts Datenbankflaggschiff soll sich auf das inzwischen etablierte REST-Datenformat verstehen.
$0Aktuell ist die CTP2-Version von SQL Server 2016 verfügbar. Schon Anfang Mai hatte Microsoft verkündet, dass native JSON-Unterstützung in den Server eingebaut sein wird. Das Entwicklerteam reagiert damit den Wunsch der Community: Das Feature war das am meisten nachgefragte.$0$0Die Datenbank legt Json als NVARCHAR ab. Der Grund dafür ist Rückwärtskompatibilität. Viele nutzen heute schon JSON und legen dieses im Server in einem Textfeld ab. Durch die Verwendung von NVARCHAR müssen diese Entwickler nichts an ihren Lösungen ändern.$0$0C#-Entwickler nutzen meist JSON.NET als Parser, um aus einem JSON-String Objekte zu generieren. Auch diese müssen künftig nichts anders implementieren. Einen eigenen JSON-Typ wird es wohl nicht geben.$0$0Schon in der CTP2 ist das Schlüsselwort FOR JSON. Damit lässt sich ein Select-Statement so schreiben:$0$0SELECT column, expression, column as alias FROM table1, table2, table3 FOR JSON [AUTO | PATH]$0$0Diese Abfrage wird das Result Set als JSON-String formatiert zurückgeben.$0$0Aber auch die andere Richtung hat der SQL Server drauf: Er kann einen JSON-String parsen und die enthaltenen Daten in Tabellen einlesen. Hier ein Syntax-Beispiel dafür.$0$0SELECT Number, Customer, Date, Quantity FROM OPENJSON (@JSalestOrderDetails, '$.OrdersArray') WITH ( Number varchar(200), Date datetime, Customer varchar(200), Quantity int ) AS OrdersArray$0$0Weitere Informationen dazu gibt der Blogpost.$0$0Siehe auch die Infos auf Infoq$0$0SQL Server 2016 public preview coming this summer$0