我一直在努力解決這個問題很長一段時間,並且無法解決它。 我有以下的JSON字符串:DataContractJsonSerializer返回空對象
{"Search":[{"Title":"somestring","Year":"somestring","imdbID":"somestring"}]}, {"Title":"somestring","Year":"somestring","imdbID":"somestring"} etc
字符串可以多次重複自己,所以我想將值存儲在列表中。爲了做到這一點,我已經創建了以下兩類: 的SuggestionListener類:
[DataContract]
class SuggestionLister
{
public List<MovieResults> suggestionlist {get;set;}
}
持有我想返回的列表。
而且Movieresults類:
[DataContract]
class MovieResults
{
[DataMember]
public string Title { get; set; }
[DataMember]
public string Year { get; set; }
[DataMember]
public string imdbID { get; set; }
}
持有需要被存儲的數據。我試着用下面的代碼反序列化它:
byte[] data = Encoding.UTF8.GetBytes(resp);
MemoryStream memStream = new MemoryStream(data);
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(SuggestionLister));
SuggestionLister suggestionMovies = (SuggestionLister)serializer.ReadObject(memStream);
'resp'變量是JSON字符串。但是,當我嘗試使用此代碼時,suggestMovies對象仍爲空。哪裏不對?
確保你的json是唯一的?它有不同的模式...... –
是的,對不起,格式不正確這裏是一個確切的副本:'{「搜索」:[{「標題」:「起始」,「年」:「2010」 ,「imdbID」:「tt1375666」},{「標題」:「入侵:動畫漫畫」,「年份」:「2010」,「imdbID」:「tt1790736」},{「Title」:「 「,」Year「:」2010「,」imdbID「:」tt1686778「},{」Title「:」WWA:Inception「,」Year「:」2001「,」imdbID「:」tt0311992「},標題「:」初始「,」年「:」2010「,」imdbID「:」tt1695201「}]}' –