【发布时间】:2014-07-15 01:44:48
【问题描述】:
我正在尝试将数据表转换为 JSON。我可以得到它,但问题是我在序列化结果字符串中获取与表头相对应的属性名称:
private string TestForEach(DataTable table)
{
var categoryList = new List<FilterCountry>(table.Rows.Count);
foreach (DataRow row in table.Rows)
{
var values = row.ItemArray;
var category = new FilterCountry()
{
Country = values[0].ToString(),
Count = (Int32)values[1]
};
categoryList.Add(category);
}
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
return serializer.Serialize(categoryList);
}
这会返回一个字符串:
[{"Count":2,"Country":"China"},{"Count":3,"Country":"India"},{"Count":3,"Country":"Pakistan"},{"Count":5,"Country":"United Arab Emirates"}]
但我不需要字符串中的属性名称,我只需要:
"China":2,"India":3,"Pakistan":3,"United Arab Emirates":5
【问题讨论】:
-
要获得预期的输出,您需要编写字符串操作代码而不是使用序列化。