C# 如何在使用JavaScriptSerializer将sql表转换为字符串值时添加页眉和页脚常量
有人能告诉我怎么做吗 我在c中有这个函数: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
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-猜测枚举 然后创建一个数组,并序列化数组