建立自定義巢狀 JSON 結構

如果你需要一些無法使用 FOR JSON PATH 或 FOR JSON AUTO 建立的複雜 JSON 結構,則可以通過將 FOR JSON 子查詢作為列表示式來自定義 JSON 輸出:

SELECT top 5 o.object_id, o.name,
        (SELECT column_id, c.name
            FROM sys.columns c WHERE o.object_id = c.object_id
            FOR JSON PATH) as columns,
        (SELECT parameter_id, name
            FROM sys.parameters p WHERE o.object_id = p.object_id
            FOR JSON PATH) as parameters
FROM sys.objects o
FOR JSON PATH

每個子查詢都將生成將包含在主 JSON 內容中的 JSON 結果。