2017-10-05 43 views
1

我对json非常陌生,并且浏览了关于此主题的一些前面的问题。我想我失去了一些东西基本的,我有一个表,其中“项目”是一个主键,我想在将数据集作为json返回到c#

{ 
    "item": [ 
     { 
      "item": "12345", 
      "description": "ece" 
     }, 
     { 
      "item": "34567", 
      "description": "abcde" 
     } 
    ] 
} 

我试图格式返回JSON序列化数据表从数据库返回使用

JsonConvert.SerializeObject(dt) 

和我得到的JSON格式,只是没有最 “项目”:[]”块

任何建议,将不胜感激

编辑: 我填充数据表像这样:

SqlConnection conn = new SqlConnection(conStr); 
String sql = "select distinct item,description from item where item like '" + id.ToString() + "%'"; 
     try 
     { 
      conn.Open(); 
      SqlCommand cmd = new SqlCommand(sql, conn); 
      dt.Load(cmd.ExecuteReader()); 
     } 
+0

也许能帮助,如果您发布的代码,告诉您如何在这个表由于基于检索数据关于您是否使用SQL语句进行查询而不仅仅使用表名称,可能会在解决您的问题方面发挥重要作用。 – cChacon

+0

请参阅编辑@cChacon – TestNInja

+1

好的。尝试@ Xiaoy312的方法 - 看起来像一个很好的解决方案。另一种方法是简单地为数据表对象定义表名:'dt.TableName =“item”' – cChacon

回答

4

使用匿名对象把它包起来:

JsonConvert.SerializeObject(new { item = dt }); 
+0

这很好用,谢谢 – TestNInja