2013-11-25 2 views
-1

Я превращающий DataTable в JSON-файл.JSON «Newtonsoft.Json.Linq.JArray не помечен как сериализуемая

Я использую 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

это, кажется, работает нормально с JSON.NETv3.5, не получаю, почему ошибка происходит с вами? –

+0

У меня такое же сомнение, и альтернатива, которую вы можете предложить? – SPandya

ответ

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

Позвольте мне проверить, вернемся к вам – SPandya

+0

Ну, это не показывает ошибок и не показывает результаты. – SPandya

+0

Вы можете вставить код? –

Смежные вопросы