C# 将键值对的SQL行序列化为JSON对象
我正在使用asp.net c#构建一个web表单,以生成JSON字符串。我有一个SQL Server表,其中包含列ID、列名称、父ID和值 对于特定ID,如果ID=parentId,则它是父列,而如果ID!=parentid则它是一个子项,并且有一个父项。我将它们拉入一个datatable,从中我需要在标签中打印一个JSON字符串(如在实际输出中) 我尝试使用Newtonsoft.Json,如下所示C# 将键值对的SQL行序列化为JSON对象,c#,json,json.net,C#,Json,Json.net,我正在使用asp.net c#构建一个web表单,以生成JSON字符串。我有一个SQL Server表,其中包含列ID、列名称、父ID和值 对于特定ID,如果ID=parentId,则它是父列,而如果ID!=parentid则它是一个子项,并且有一个父项。我将它们拉入一个datatable,从中我需要在标签中打印一个JSON字符串(如在实际输出中) 我尝试使用Newtonsoft.Json,如下所示 foreach (DataRow row in JSONInfoTable.Rows) { st
foreach (DataRow row in JSONInfoTable.Rows)
{
string result = Newtonsoft.Json.JsonConvert.serializeObject(row);
testlabel.Text = result;
}
但我从上面的代码中得到以下结果
{"Columnname":"Parent1","Value:100"}...
实际输出JSON(在btnclick事件后打印在Webform标签中)
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表中提取数据)
您需要按Columnname分组,然后将其序列化:
JsonConvert.serializeObject(JSONInfoTable.AsEnumerable().GroupBy(row => row.Columnname));
您需要按Columnname分组,然后将其序列化:
JsonConvert.serializeObject(JSONInfoTable.AsEnumerable().GroupBy(row => row.Columnname));
JsonConvert.serializeObject(JSONInfoTable.AsEnumerable().GroupBy(row => row.Columnname));