如何创建嵌套节点C#

时间:2014-03-06 12:22:58

标签: c# .net json

我使用sql数据库开发json feed。 我使用下面的代码我的项目得到一个答案

public string ConvertDataTabletoString()
        {
            DataTable dt = new DataTable();

            SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());
            SqlCommand command = new SqlCommand("select * from table4", connection);
            SqlDataAdapter da = new SqlDataAdapter(command);
            da.Fill(dt);
                JavaScriptSerializer serializer = new  JavaScriptSerializer();

            List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
            Dictionary<string, object> row;
            foreach (DataRow dr in dt.Rows)
            {


               row = new Dictionary<string, object>();
               foreach (DataColumn col in dt.Columns)
               {    
                row.Add(col.ColumnName, dr[col]);
               }
                rows.Add(row);
            }
            return serializer.Serialize(new { contacts = rows }); 
        }

以下json格式获得上述代码的响应

     {
        "contacts":[
        {
        "username":"raja",
        "empid":"45"
        }
        ]
        }

但我的要求低于格式
如何在我的json中添加“employee”。

{
        "contacts":[
        {
        "username":"raja",
        "employee":{
        "empid":"40"
        }
        }
        ]
        }

1 个答案:

答案 0 :(得分:0)

我的建议:

  1. 在完成foreach (DataRow dr in dt.Rows) {}尝试之后 将行集合克隆为新集合(不是引用)
  2. 遍历新创建的集合并对其进行修改以适合您的 需要
  3. 序列化新集合并将其返回。
  4. 希望有所帮助,