JSON“Newtonsoft.Json.Linq.JArray未标记为可序列化

时间:2013-11-25 05:14:15

标签: c# json linq json.net

我将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.

我该怎么办?

1 个答案:

答案 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);
        }