Сериализация строки SQL пары «ключ-значение» в объект JSON - PullRequest
1 голос
/ 22 декабря 2019

Я создаю веб-форму, используя 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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...