SQL TABLE ke JSON tanpa Informasi Kolom SQL
Nov 26 2020
Saya mencoba untuk mengurai data Tabel menjadi JSON dan dalam prosesnya ingin melewati Nama Kolom Tabel dalam konversi Posting ke JSON. Di bawah ini adalah Cuplikan sampel.
DECLARE @table1 TABLE (k1 nvarchar(max), v1 nvarchar(max))
-- Note k1 is unique
INSERT INTO @table1 (k1,v1) VALUES( 'Apple', 'One')
INSERT INTO @table1 (k1,v1) VALUES( 'Banana', 'Two')
INSERT INTO @table1 (k1,v1) VALUES( 'Orange', 'Three')
SELECT k1, v1 FROM @table1
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
--output: {"k1":"Apple","v1":"One"},{"k1":"Banana","v1":"Two"},{"k1":"Orange","v1":"Three"}
-- Expected: {"Apple","One"},{"Banana","Two"},{"Orange","Three"}
Hargai arahan!
Jawaban
1 lptr Nov 27 2020 at 12:51
--string concatenation & aggregation (string_agg () untuk sql2017 & lebih baru atau untuk xml path () untuk sql2016)
select string_agg(concat('{"', string_escape(k1, 'json'), '":"', string_escape(v1, 'json'), '"}'), ',') /*within group (order by k1)*/
from @table1
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'