使用JSON.NET将自定义名称添加到数组

时间:2015-07-21 02:16:13

标签: c# arrays list datatable json.net

我需要像这样检索JSON对象数组:

{ "MyCustomName": [ { "id": 0, "item": "item 0" }, { "id": 1, "item": "item 1" } ] }

而不是:

{ [ { "id": 0, "item": "item 0" }, { "id": 1, "item": "item 1" } ] }

以下是我使用的代码:

    using (SqlConnection con = conection.Conect())
            {
                using (SqlCommand cmd = new SqlCommand("SelPeople", con))
                {
                    con.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                    {
                        DataTable dt = new DataTable("MyCustomName");  
                        sda.Fill(dt);
                        List<Personal> ListOfPeople= new List<Personal>();

                        foreach (DataRow dr in dt.Rows)
                        {
                            Personal persona = new Personal();

                            persona.Id = Convert.ToInt32(dr["Id"].ToString());
                        persona.Name = dr["Name"].ToString();
                        //add one row to the list
                        ListOfPeople.Add(persona);
                    }

                   JsonConvert.SerializeObject(ListOfPeople, Formatting.Indented);
                    Response.Write(json);
                }
            }
        }

一些帮助会很好,谢谢:)

1 个答案:

答案 0 :(得分:2)

请看这篇文章from another user

在您的控制器中更改此部分

JsonConvert.SerializeObject(ListOfPeople, Formatting.Indented);
Response.Write(json);

要:

string json = JsonConvert.SerializeObject(new
{
    MyCustomName = ListadoDePersonal;
});
Response.Write(json);