Jeśli masz prosty stół jak:Jak stworzyć JSON z tabeli EAV w SQL Server
Id Name Age
1 Saeed 32
2 John 28
3 David 34
Następnie można utworzyć JSON przy użyciu For XML
w SQL Server prostu lubię:
select '{ name : "' + Name + '", age : ' + age + ' }'
from People
where Id = 1
for xml path('')
Jest to łatwe, ponieważ kolumny są znane wcześniej. Jednak utknąłem w tworzeniu JSON ze stołu EAV. Na przykład, jeśli tabela jest:
Id EntityId Key Value
1 1 Name Saeed
2 1 Age 32
3 1 Gender Male
4 1 Key1 Value1
5 1 Key2 Value2
Jak mogę utworzyć ten JSON?
{ Name: "Saeed", Age: 32, Gender: "Male", Key1: "Value1", Key2: "Value2" }
Od tego zapytania:
select *
from PeopleEav
where EntityId = 1
Należy pamiętać, że liczba przycisków jest zmienna (jest to tabela EAV).
Formatowanie wyświetlania nie należy do zaplecza. Zrób to w kliencie. –
Dzięki za te cenne informacje drogie @RemusRusanu. Czasem zasady akademickie nie są w akcji;) –
Kilka osób przyłączyło się do tego z procedurami przechowywanymi, takimi jak [to] (http://firozansari.com/2008/11/21/generating-json-from-tsql-query/) i [to] (http://stackoverflow.com/a/15442030/864696). –