これはコードです:
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に等しくなります。前もって感謝します!