拋出ArgumentNullException我正在寫一個應用程序,崗位,並得到JSON /從在Visual C#4.0中的後端。JavaScriptSerializer上反序列化
很顯然,序列化/反序列化JSON最簡單的方法是System.Web.Script.Serialization.JavaScriptSerializer,但是我在拋出ArgumentNullException時發生了一個奇怪的錯誤,聲稱該類型爲null。
當以下JSON解串行化,它工作正常:
{"results":[
{"Name":"Western Bulldogs",
"updatedAt":"2011-08-22T09:09:09.673Z",
"Nickname":"Bulldogs",
"RemoteId":44,
"Abbreviation":"WB",
"createdAt":"2011-08-22T09:09:09.673Z",
"objectId":"2iSK8FDTA6"}
]}
然而,反序列化第二個(與嵌套字典)時,其與類型爲null錯誤失敗。
{"results":[
{"EndDate":{"iso":"2011-09-06T00:00:00.000Z","__type":"Date"},
"Name":"Round 24",
"updatedAt":"2011-08-22T08:33:54.119Z",
"RemoteId":800,"createdAt":"2011-08-22T08:33:54.119Z",
"Season":{"className":"Season","__type":"Pointer","objectId":"WnsdqIlrd6"},
"Order":24,
"StartDate":{"iso":"2011-08-30T00:00:00.000Z","__type":"Date"},
"objectId":"bLdBfhagi9"}
]}
僅供參考,我與兩個查詢以下方法反序列化:
JavaScriptSerializer jsSerialise = new JavaScriptSerializer();
ObjectIdContainerList contList = jsSerialise.Deserialize<ObjectIdContainerList>(responseString);
哪裏ObjectIdContainerList如下(注意 - 它沒有實現原來的JSON對象,因爲所有屬性我只對獲取objectId屬性感興趣):
[Serializable]
public class ObjectIdContainerList
{
public ObjectIdContainer[] results { get; set; }
}
[Serializable]
public class ObjectIdContainer
{
public String objectId { get; set; }
}
第一個查詢反序列化完全相同的代碼和對象時沒有問題。
有什麼建議嗎?我會最好只去JSON.NET嗎?
首先發表您的ObjectIdContainerList如果可能的話,無遺漏的JSON數據,讓我們看到了什麼是真正回事。 –