使用for json子句把查詢結果做爲json字符串導出,將做爲sql server 2016中首先可用的一個特性。若是你熟悉for xml子句,那麼將很容易理解for json:數據庫
select ccolumn, expression, column as alias from table1, table2, table3 for json [auto | path]
若是你把for json子句添加到T-SQL Select查詢語句的最後,SQL Server將會把結果格式化爲JSON字符串以後在返回到客戶端。每一行數據將會格式化爲一個json對象,每個數據字段將會成爲行對象的值,列名或者列的別名會做爲行對象的鍵。咱們有兩種類型的for json子句:express
若是你用過PostgreSQL中涉及到JSON的函數和操做符,你會注意到,FOR JSON子句類等價於PostgreSQL中的JSON建立函數好比row_to_json或json_object。FOR JSON子句的主要目的是根據JSON規範把變量、列格式化爲JSON對象。好比:json
set @json = (select 1 as firstKey, getdate() as dateKey, @someVar as thirdKey for json path) -- result is : {"firstKey": 1, "dateKey": "2016-06-15 11:35:21", "thirdKey": "Content of variable"}
FOR JSON子句主要應用場景:數組