بهترین فرصت آموزش در جشنواره تخفیف های توسینسو بهترین فرصت آموزش در جشنواره تخفیف های توسینسو
مانده تا پایان تخفیف ها
مشاهده دوره ها
0

ایجاد خروجی json در SQL Server 2008

سلام بر همه دوستان عزیز

آیا می شود در SQL Server خروجی از نوع Json گرفت ؟

مثل من دستور زیر را می نویسم

Select f1 ,f2 ,f3 from T1

حالا می خواهم که خروجی این دستور از نوع Json باشه .

باتشکر فراوان از شما دوستان عزیز

پرسیده شده در 1393/11/03 توسط

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,'')

اگه حالت های پیشرفته تر و پیچیده تر رو نیاز داشتید لینک زیر رو یه نگاه بندازید:

  1. Producing JSON Documents from SQL Server queries via TSQL
پاسخ در 1393/11/03 توسط
0

دوستان عزیز سلام

امکانش هست در مورد Json توضی بدید دقیقا این چیه چیکار میکنه؟

ممنون

پاسخ در 1394/03/25 توسط

پاسخ شما