2013-11-04 44 views
1

反序列化對象我有一個非常簡單的POCO類:不能與Json.Net

[JsonArray] 
    public class WebGame 
    {  
     public int Key { get; set; } 

     public string Name { get; set; } 

     public string Description { get; set; } 
    } 

嘗試反序列化給它一個JSON字符串:

string json = @"[{'Key':'1','Name':'WebGame','Description':'bla-bla-bla'}]"; 
    var myDeserializedObjList = (List<WebGame>)(JsonConvert.DeserializeObject(json, typeof(List<WebGame>)));  
    var game = myDeserializedObjList[0]; 

我得到一個異常:

無法反序列化當前JSON對象(例如{「名稱」:「值」}) 成型「的WebGame」,因爲類型要求JSON陣列(例如 [1,2,3])以正確反序列化。爲了解決這個問題錯誤或者改變 JSON到JSON陣列(例如[1,2,3]),或改變它的反序列化類型,以便 ,這是一個正常的.NET類型(例如不是原始類型像整數, 不是集合類型,如數組或列表),可以是從JSON對象反序列化的 。 JsonObjectAttribute也可以加入 以強制它從JSON對象反序列化。

這裏有什麼錯?

回答

1

刪除[JsonArray]屬性,它會正常工作