我創建了一個名爲RESTObjectBase
的類。此課程由任何其他類別繼承,包括個人,地址,電話號碼等信息。反序列化複雜JSON包含繼承對象類型的數組
我創建了一個List<RestObjectBase>
,其中包含一個或多個此類型的對象,並通過REST調用將其傳回到前端。
即返回JSON如下:
{
"Items":[
{
"__type":"AnyObjectInheritedFromBaseClass",
"ObjectType":3,
"First_Name":"",
"Last_Name":"",
}
],
"Status":0
}
我想在另一端反序列化這一點。我有多個錯誤,包括「類型不能爲空」,但這不是我的問題。
有什麼方法可以將這種複雜性的對象反序列化到原始類/列表。爲什麼我很掙扎?它是最終繼承RESTObjectBase
的一組對象,它看起來並不像反序列化足夠聰明。
反序列化的前端可能是任何設備或平臺,所以我不能簡單地使用像JSON.NET這樣的東西,因爲它在任何地方都不受支持。
我甚至會很樂意解構JSON並序列化數組中的每個項目,但我無法弄清楚如何做到這一點。我可以使用該類型來解決如何反序列化它。
任何幫助,將不勝感激。
你在使用什麼串行器? 「__type」參數的存在表明它是「DataContractJsonSerializer」或「JavaScriptSerializer」。 – dbc
查看VS中的「粘貼JSON作爲類」功能。 http://blogs.msdn.com/b/webdev/archive/2012/12/18/paste-json-as-classes-in-asp-net-and-web-tools-2012-2-rc.aspx – Jeremy
謝謝。這兩件事讓我回到了正確的道路上。那和2個小時的睡眠:)。 –