2014-06-24 27 views
2

,所以我有這個方法(代碼的第二塊) 任何JSON轉換爲C尖銳的物體它的作品不錯,但C#反序列化JSON任何類型的方法

什麼,我想他做 能夠告訴她需要轉換到

//not real code 

public static object JSONToObj(string i_json, typeof(Home)) //will return an Home object 

//not real code 

//real code 

public static object JSONToObj(string i_json) 
{ 
    serializer = new JavaScriptSerializer(); 
    object io_obj = serializer.Deserialize<object>(i_json); 

    return io_obj; 
} 

//real code 

回答

3
public static T JSONToObj<T>(string i_json) 
{ 
    var serializer = new JavaScriptSerializer(); 
    T io_obj = serializer.Deserialize<T>(i_json); 

    return io_obj; 
} 

哪種類型的對象的方法,你可以這樣調用:

Home h = JSONToObj<Home>(json); 
+0

以及我應該如何調用此方法? – user1310492

+0

查看更新的答案 – dotnetom

+0

@dotnetom您需要爲要反序列化的類型添加一個約束'where T:new()' –