C# 如何在使用JavaScriptSerializer将sql表转换为字符串值时添加页眉和页脚常量

C# 如何在使用JavaScriptSerializer将sql表转换为字符串值时添加页眉和页脚常量,c#,javascriptserializer,C#,Javascriptserializer,有人能告诉我怎么做吗 我在c中有这个函数: public string ConvertLocationTableToString() { int radius = 0; string locationType = "marker"; DataTable dt = new DataTable(); Using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStri

有人能告诉我怎么做吗

我在c中有这个函数:

public string ConvertLocationTableToString()
{
    int radius = 0;
    string locationType = "marker";

    DataTable dt = new DataTable();
    Using (SqlConnection con = new     SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
    {
        Using (SqlCommand cmd = new SqlCommand("SELECT  lat=Latitude, lng=Longitude,    FROM  Locations", con))
        {
            con.Open();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.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(rows);
        }
    }
}
“表位置”包含两行,其中包含纬度值和lontitude值

它生成以下字符串值: [{拉丁美洲:24.816925048828125,液化天然气:-107.37641906738281} ,{拉丁美洲:24.815664291381836,液化天然气:-107.38169097900391}]

但我想提出以下几点: [{坐标:[{lat:24.816925048828125,lng:-107.37641906738281}],半径:0,位置类型:marker} ,{坐标:[{lat:24.815664291381836,lng:-107.38169097900391}],半径:0,位置类型:marker}]

请注意,“半径”和“位置类型”不是表中的字段

谢谢你的帮助


rubenc

您正在序列化从表返回的行。如果您在C中创建了一个与所需输出匹配的对象,然后在返回的行上循环并设置相关项,那么您可以序列化该对象

在您的情况下,对象将包括: -坐标-某种类型的列表 -半径-我假定为int -LocationType-猜测枚举

然后创建一个数组,并序列化数组