Lớp sau không deserialize (nhưng không tuần tự hóa) sử dụng System.Web.Script.Serialization.JavaScriptSerializer
.Không thể Deserialize một KeyValuePair Nullable từ JSON với ASP.NET AJAX
public class foo {
public KeyValuePair<string, string>? bar {get;set;}
}
Cố gắng deserialize kết quả trong một System.NullReferenceException
khi System.Web.Script.Serialization.ObjectConverter.ConvertDictionaryToObject
đạt đến bar
tài sản. (Lưu ý, đó là phỏng đoán dựa trên dấu vết ngăn xếp.)
Thay đổi loại thuộc tính thành KeyValuePair<string,string>
khắc phục sự cố, nhưng tôi muốn giữ loại Nullable
nếu có thể.
Các JSON là chính xác những gì bạn mong đợi:
{"foo": {
"bar": {
"Key":"Jean-Luc",
"Value":"Picard"
}
}}
Trợ giúp?
Việc deserialization cho KeyValuePair không sửa lỗi ở trên, nhưng thực sự dẫn đến hai chuỗi rỗng cho cặp. tức là, các deserialization kết quả trong mất dữ liệu. Vì vậy, JSON ở trên biến thành một KeyValuePair của [,]! –
Noel