Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menukar Tatasusunan Objek SQL Server kepada Tatasusunan Nilai JSON dalam SQL 2016?

Bagaimana untuk Menukar Tatasusunan Objek SQL Server kepada Tatasusunan Nilai JSON dalam SQL 2016?

Linda Hamilton
Lepaskan: 2025-01-09 18:52:41
asal
393 orang telah melayarinya

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

Penukaran SQL ke JSON: Tukar tatasusunan objek kepada tatasusunan nilai dalam SQL 2016

SQL 2016 menyediakan fungsi menukar data SQL Server kepada JSON, mengembangkan banyak kemungkinan. Walau bagaimanapun, apabila berurusan dengan tatasusunan objek, kadangkala struktur JSON yang diperlukan mungkin berbeza daripada hasil penukaran lalai.

Khususnya, apabila menukar tatasusunan objek kepada JSON, gelagat lalai ialah membenamkan objek sebagai tatasusunannya sendiri dalam tatasusunan induk. Contohnya:

SELECT (SELECT item_id FROM #temp FOR JSON PATH,root('ids'))
Salin selepas log masuk

Keputusan:

{
    "ids": [{
        "item_id": "1234"
    },
    {
        "item_id": "5678"
    },
    {
        "item_id": "7890"
    }]
}
Salin selepas log masuk

Dalam sesetengah kes mungkin lebih baik untuk memaparkan tatasusunan objek sebagai tatasusunan nilai, tanpa struktur bersarang.

Untuk mencapai matlamat ini, transformasi XML perantaraan boleh digunakan:

SELECT  
JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"' 
FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids  
FOR JSON PATH , WITHOUT_ARRAY_WRAPPER
Salin selepas log masuk

Langkah ini menukar data kepada struktur XML yang diratakan, yang kemudiannya boleh ditukar kepada JSON menggunakan parameter JSON_QUERY() dan WITHOUT_ARRAY_WRAPPER. Hasilnya ialah tatasusunan yang dikehendaki yang mengandungi nilai:

"ids": [
        "1234",
        "5678",
        "7890"
    ]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan Objek SQL Server kepada Tatasusunan Nilai JSON dalam SQL 2016?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan