我正在創建一個Windows Phone銀光8應用程序。Newsoft Json反序列化成產品集合不起作用
我有一個JSON字符串,我試圖將其轉換爲對象列表,每個對象是一個類歸類爲「產品」的對象,列表應該是產品。最終我希望它轉換爲Observable集合,以便我可以將該集合綁定到我的Windows Silverlight手機應用程序的列表框中。
這裏是我的類
public class Product
{
public string _id { get; set; }
public string code { get; set; }
public string name { get; set; }
public string imgAddress { get; set; }
public int queryCount { get; set; }
}
這裏是代碼反序列化JSON
var PDS = "{\"products\":[{\"_id\":\"58b2\",\"code\":\"59034\",\"name\":\"somename1\",\"imgAddress\":\"https://someimageurl/.../.jpg\",\"queryCount\":0},{\"_id\":\"58b3\",\"code\":\"59035\",\"name\":\"somename2\",\"imgAddress\":\"https://someimageurl2/.../.jpg\",\"queryCount\":1}]}";
var pds = JsonConvert.DeserializeObject<List<Product>>(PDS);
//PDS is actually very long string and the array products has a lot of objects but I am only writing 2 products here for simplicity.
這是我收集綁定
public ObservableCollection<Product> Products { get; set; }
個
錯誤 >>首先我正在解析錯誤,所以我逃過這樣字符串中的所有引號\」 ** ** >>但後來它只是轉換爲普通的字符串狀物體,但我要轉換的類型「產品」的產品集合
>>異常
其他信息:無法反序列化JSON當前對象(例如{「name」:「value」})轉換爲類型'System.Collections.Generic.List`1 [PivotApp1.Product]',因爲該類型需要JSON數組(例如[1,2,3])才能正確地反序列化。 要修復此錯誤,請將JSON更改爲JSON數組(例如[1,2,3])或更改反序列化的類型,以使其爲正常的.NET類型(例如,不是像整數這樣的基本類型,也不是集合類型像數組或列表),可以從JSON對象反序列化。 JsonObjectAttribute也可以添加到類型中,以強制它從JSON對象反序列化。
Path'products',line 1,position 12。
預先感謝
您提供的代碼甚至不會編譯。請提供[mcve]。 –