首頁 > 資料庫 > mysql教程 > 如何在 SQL 2016 中將 SQL Server 物件陣列轉換為 JSON 值陣列?

如何在 SQL 2016 中將 SQL Server 物件陣列轉換為 JSON 值陣列?

Linda Hamilton
發布: 2025-01-09 18:52:41
原創
373 人瀏覽過

How to Convert a SQL Server Array of Objects to an Array of JSON Values in SQL 2016?

SQL到JSON轉換:在SQL 2016中將物件陣列轉換為值陣列

SQL 2016 提供了將SQL Server資料轉換為JSON的功能,擴充了許多可能性。然而,在處理物件數組時,有時所需的JSON結構可能與預設轉換結果不同。

具體來說,將物件陣列轉換為JSON時,預設行為是將物件作為其自身陣列嵌入父數組中。例如:

<code class="language-sql">SELECT (SELECT item_id FROM #temp FOR JSON PATH,root('ids'))</code>
登入後複製

結果:

<code class="language-json">{
    "ids": [{
        "item_id": "1234"
    },
    {
        "item_id": "5678"
    },
    {
        "item_id": "7890"
    }]
}</code>
登入後複製

在某些情況下,可能更希望將物件數組顯示為值數組,無需嵌套結構。

為了實現這一點,可以使用中間XML轉換:

<code class="language-sql">SELECT  
JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"' 
FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids  
FOR JSON PATH , WITHOUT_ARRAY_WRAPPER</code>
登入後複製

此步驟將資料轉換為扁平化的XML結構,然後可以使用JSON_QUERY()WITHOUT_ARRAY_WRAPPER參數將其轉換為JSON。結果是所需的包含值的陣列:

<code class="language-json">"ids": [
        "1234",
        "5678",
        "7890"
    ]</code>
登入後複製

以上是如何在 SQL 2016 中將 SQL Server 物件陣列轉換為 JSON 值陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板