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



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

我该怎么办?

你能试一下下面的代码并告诉我它是否适合你吗。有关更多详细信息,请参阅此链接

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

最新更新