Я создаю веб-форму, используя asp.net c # для генерации строки JSON. У меня есть таблица SQL Server с идентификатором столбцов, именем столбца, идентификатором родителя, значением.
Для определенного идентификатора, если Id = parentId, то это родительский столбец, тогда как если id! = Parentid, то эторебенок и имеет родителя. Я вытягиваю их в таблицу данных, из которой мне нужно напечатать строку JSON в метке (как в фактическом выводе)
Я попытался использовать Newtonsoft.Json, как показано ниже
foreach (DataRow row in JSONInfoTable.Rows)
{
string result = Newtonsoft.Json.JsonConvert.serializeObject(row);
testlabel.Text = result;
}
НоЯ получаю ниже результат из приведенного выше кода
{"Columnname":"Parent1","Value:100"}...
Фактический вывод JSON (печатается в метке веб-формы после события btnclick)
{
"Parent1" : "100",
"Parent2" : {
"child1" : "300",
"child2" : "40"
}
}
SQL Server: таблица GetJSON
Id Columnname ParentId Value
----------------------------------
1 Parent1 1 100
2 Parent2 2 NULL
3 Child1 2 300
4 Child2 2 40
C # Datatable (извлечение данных из таблицы GetJSON)
SqlCommand Fieldextract = new SqlCommand(Select Columnname, Value from GetJSON, sqlcon);
Dataset ds1 = new DataSet();
SqlDataAdapter = JSONInfoAdapter ;
JSONInfoAdapter = new SQLDataAdapter(FieldExtract);
JSONInfoAdapter.fill(ds1);
FieldExtract.Dispose();
JSONInfoAdapter = null;
DataTable JSONInfoTable = ds1.Table[0];