我将DataTable
转换为JSON文件。
我正在使用JSON.NETv3.5并使用以下代码
string json = JsonConvert.SerializeObject(ds);
我在调试时遇到以下错误。
Type 'Newtonsoft.Json.Linq.JArray' in Assembly 'Newtonsoft.Json.Net20, Version=3.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' is not marked as serializable.
我该怎么办?
答案 0 :(得分:2)
您可以尝试使用以下代码,让我知道它的工作与否。有关详细信息,请参阅此link
public string GetJson(DataTable 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 = null;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName.Trim(), dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}