Короткий вопрос:
Учитывая данные на основе таблиц (например, результаты SQL), какой самый приемлемый метод преобразования этого в конкретную строку json / объектную строку js с помощью C #?
Сценарий:
У меня есть веб-страница, использующая d3.js для общих графических отчетов.Для данных я вызываю API, который выполняет хранимую процедуру и возвращает набор результатов.Мне нужен способ преобразования этих данных в подходящий объект json, который можно легко обработать в моем отчете d3.
Пример:
С помощью следующей таблицы, возвращаемой моей хранимой процедурой
Какой тип объекта был бы наиболее подходящим для преобразования этих данных для использования с javascript / d3 и как этого добиться?
Что я пробовал:
Так как мой API написан на C #, я попытался использовать метод JsonConvert.SerializeObject
, как показано ниже.
DataTable dt = new DataTable();
using (SqlDataAdapter sql = new SqlDataAdapter(getData))
{
sql.Fill(dt);
}
returnStr = JsonConvert.SerializeObject(dt);
, который производитпростой массив, по одному элементу на строку данных, например:
[
{
"Group": "Group01", "TrueFalse": 1, "SubGroup": "SubGroup01", "Owner": "ME"
},
{
"Group": "Group01", "TrueFalse": 1, "SubGroup": "SubGroup02", "Owner": "ME"
},
{
"Group": "Group01", "TrueFalse": 0, "SubGroup": "SubGroup02", "Owner": "You"
},
{
"Group": "Group01", "TrueFalse": 1, "SubGroup": "SubGroup03, "Owner": "You"
},
{
"Group": "Group02", "TrueFalse": 0, "SubGroup": "SubGroup01", "Owner": "Someone"
},
// etc...
]
Хотя с этим вполне возможно работать, я не знаю, является ли это лучшим способом для этого или мыможет создать объект, который более подходит.Если бы вы могли дать какие-либо указания на лучшие практики и возможные примеры, это было бы здорово.