Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar Tatasusunan Objek SQL Server kepada Tatasusunan Nilai JSON dalam 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:
<code class="language-sql">SELECT (SELECT item_id FROM #temp FOR JSON PATH,root('ids'))</code>
Keputusan:
<code class="language-json">{ "ids": [{ "item_id": "1234" }, { "item_id": "5678" }, { "item_id": "7890" }] }</code>
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:
<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>
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:
<code class="language-json">"ids": [ "1234", "5678", "7890" ]</code>
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!