2013-11-25 58 views
-1

I轉換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

你能粘貼你完整的代碼嗎? –

相關問題