【发布时间】:2011-10-27 14:21:54
【问题描述】:
我正在寻找将数据集及其表之间的关系转换为 JSON 字符串的方法。
这是我的数据集序列化器代码,我怎样才能使表格嵌套(就像在 asp.net 的嵌套中继器中一样?)
谢谢,
维他命
public static string DataTableToJSON(DataSet dt)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
string str = serializer.Serialize(ToDictionary(dt));
return str;
}
private static object RowsToDictionary(DataTable table)
{
var columns = table.Columns.Cast<DataColumn>().ToArray();
return table.Rows.Cast<DataRow>().Select(r => columns.ToDictionary(c => c.ColumnName, c => r[c].ToString().Trim().Replace("'", "\'")));
}
private static object RowsToDictionary(DataSet table)
{
return table.Tables.Cast<DataTable>().ToDictionary(t => t.TableName, t => RowsToDictionary(t));
}
private static Dictionary<string, object> ToDictionary(DataSet table)
{
Dictionary<string, object> dic = new Dictionary<string, object>();
if (table != null)
dic.Add(table.DataSetName, RowsToDictionary(table));
return dic;
}
【问题讨论】:
标签: json