0
ایجاد خروجی json در SQL Server 2008
سلام بر همه دوستان عزیز
آیا می شود در SQL Server خروجی از نوع Json گرفت ؟
مثل من دستور زیر را می نویسم
Select f1 ,f2 ,f3 from T1
حالا می خواهم که خروجی این دستور از نوع Json باشه .
باتشکر فراوان از شما دوستان عزیز
2 پاسخ
4
برای اینکار اول باید خروجی مد نظر رو به صورت XML بگیرید. برای مثال، فرض کنید جدولی داریم به نام Users، برای گرفتن خروجی در قالب XML از دستور زیر استفاده می کنیم:
select * from users for xml path, root;
اسکریپت زیر خروجی xml رو برای ما تبدیل به Json میکنه:
DECLARE @Shopping xml;
SET @Shopping = (select * from users for xml path, root);
SELECT Stuff(
(SELECT * from
(SELECT ',
{'+
Stuff((SELECT ',"'+coalesce(b.c.value('local-name(.)', 'NVARCHAR(MAX)'),'')+'":"'+
b.c.value('text()[1]','NVARCHAR(MAX)') +'"'
from x.a.nodes('*') b(c)
for xml path(''),TYPE).value('(./text())[1]','NVARCHAR(MAX)')
,1,1,'')+'}'
from @Shopping.nodes('/root/*') x(a)
) JSON(theLine)
for xml path(''),TYPE).value('.','NVARCHAR(MAX)' )
,1,1,'')
اگه حالت های پیشرفته تر و پیچیده تر رو نیاز داشتید لینک زیر رو یه نگاه بندازید:
0
دوستان عزیز سلام
امکانش هست در مورد Json توضی بدید دقیقا این چیه چیکار میکنه؟
ممنون