這是代碼:反序列化JSON結構
var jss = new JavaScriptSerializer();
GResponse dict = jss.Deserialize<GResponse>(jsonText);
這些都是類:
public class GResponse
{
public List<GResponseData> responseData { get; set; }
public string responseDetails { get; set; }
public int responseStatus { get; set; }
}
public class GResponseData
{
public List<GResult> results { get; set; }
public List<GCursor> cursor { get; set; }
}
public class GResult
{
public string GsearchResultClass { get; set; }
public string unescapedUrl { get; set; }
public string url { get; set; }
public string visibleUrl { get; set; }
public string cacheUrl { get; set; }
public string title { get; set; }
public string titleNoFormatting { get; set; }
public string content { get; set; }
}
public class GCursor
{
public string resultCount { get; set; }
public List<GPages> PagesItems { get; set; }
public string estimatedResultCount { get; set; }
public int currentPageIndex { get; set; }
public string moreResultsUrl { get; set; }
public string searchResultTime { get; set; }
}
public class GPages
{
public string start { get; set; }
public int label { get; set; }
}
我一直在嘗試反序列化沒有成功以下JSON字符串相當長的一段時間。
{
"responseData": {
"results": [
{
"GsearchResultClass": "GwebSearch",
"unescapedUrl": "irrelevant",
"url": "irrelevant",
"visibleUrl": "irrelevant",
"cacheUrl": "irrelevant",
"title": "irrelevant",
"titleNoFormatting": "irrelevant",
"content": "irrelevant"
},
{
"GsearchResultClass": "GwebSearch",
"unescapedUrl": "irrelevant",
"url": "irrelevant",
"visibleUrl": "irrelevant",
"cacheUrl": "irrelevant",
"title": "irrelevant",
"titleNoFormatting": "irrelevant",
"content": "irrelevant"
}
],
"cursor": {
"resultCount": "irrelevant",
"pages": [
{
"start": "0",
"label": 1
},
{
"start": "28",
"label": 8
}
],
"estimatedResultCount": "irrelevant",
"currentPageIndex": 0,
"moreResultsUrl": "irrelevant",
"searchResultTime": "0.27"
}
},
"responseDetails": null,
"responseStatus": 200
}
沒有錯誤似乎出現任何但是當我檢查dict.responseData.Count它總是等於0出於某種原因。提前致謝!
我無法控制JSON .... – user2138167 2013-03-07 19:30:28
如果你不能在JSON中改變responseData到數組,然後將它的類型從'List'改爲C#中的'GResponseData'。 –
2013-03-07 19:32:21
謝謝!!!!!!! ! – user2138167 2013-03-07 19:41:59