2010-07-07 238 views
1

我從服務器獲取此JSON resposne:反序列化JSON

{"User1":0, "User2":0,"User3":0,"User4":0,"User5":0,"UserN":0,} 

用戶可以從0到N

我想這個JSON字符串反序列化到用戶的列表

public class User 
{ 
public string Name{get;set;} 
public string Status{get;set;} 
} 

我嘗試這個,但它不起作用。

List<Users> peoples; 

peoples = new JavaScriptSerializer().Deserialize<List<Users>>(jsonString); 
+0

您是否嘗試將該類的status屬性更改爲int? – James 2010-07-07 15:29:00

回答

1

你可以試試嗎?

JavaScriptSerializer mySerialiser = new JavaScriptSerializer(new SimpleTypeResolver()); 

親切的問候,

編輯:

你的情況:

peoples = new JavaScriptSerializer(new SimpleTypeResolver()).Deserialize<List<Users>>(jsonString); 
+0

嗨Trefex,我嘗試你的提前,但它不起作用。 它以此錯誤結束 無法將'System.Boolean'類型的對象轉換爲:type'System.Collections.Generic.List' – Tom159 2010-07-07 16:26:27

+0

也可以使用此語法序列化對象。 – Trefex 2010-07-07 16:36:32

3

這是不工作的原因是因爲您收到的JSON字符串不是列表對象,但具有多個屬性的單個對象。一個列表通常用JSON中的[]表示:

[{"Name":"User0","Status":"0"},{"Name":"User1","Status":"0"}] 
+0

但是,我從服務器只得到JSON字符串... – Tom159 2010-07-07 16:27:45