使用System.Web.Helpers的JSON中的多个层

时间:2016-06-12 20:39:31

标签: c#

我一直在使用一个服务,它返回一个JSON文件,里面有一个数组,数组中有对象。 第二层阵列的问题是我似乎无法使用它。 JSON看起来像这样:

{
  "section": "U.S.",
  "subsection": "Politics",
  "title": "To Understand Clinton’s Moment, Consider That It Came 32 Years After Ferraro’s",
  "abstract": "A look back to when Geraldine A. Ferraro was on the Democratic ticket in 1984 can tell a lot about how the country has changed, and how it has not.",
  "url": "urlLocation",
  "byline": "By ALISON MITCHELL",
  "item_type": "Article",
  "updated_date": "2016-06-11T13:17:01-04:00",
  "created_date": "2016-06-11T13:17:05-04:00",
  "published_date": "2016-06-12T00:00:00-04:00",
  "material_type_facet": "",
  "kicker": "",
  "des_facet": [
    "Presidential Election of 2016",
    "Women and Girls"
  ],
  "org_facet": [],
  "per_facet": [
    "Clinton, Hillary Rodham",
    "Ferraro, Geraldine A"
  ],
  "geo_facet": [],
  "multimedia": [
    {
      "url": "urlLocation",
      "format": "Standard Thumbnail",
      "height": 75,
      "width": 75,
      "type": "image",
      "subtype": "photo",
      "caption": "Geraldine A. Ferraro at a hearing of the Democratic national convention’s platform committee in 1984, the year she became the first woman selected to be a major party’s vice presidential nominee.",
      "copyright": "George Tames/The New York Times"
    },
    {
      "url": "urlLocation",
      "format": "thumbLarge",
      "height": 150,
      "width": 150,
      "type": "image",
      "subtype": "photo",
      "caption": "Geraldine A. Ferraro at a hearing of the Democratic national convention’s platform committee in 1984, the year she became the first woman selected to be a major party’s vice presidential nominee.",
      "copyright": "George Tames/The New York Times"
    },
    {
      "url": "urlLocation",
      "format": "Normal",
      "height": 127,
      "width": 190,
      "type": "image",
      "subtype": "photo",
      "caption": "Geraldine A. Ferraro at a hearing of the Democratic national convention’s platform committee in 1984, the year she became the first woman selected to be a major party’s vice presidential nominee.",
      "copyright": "George Tames/The New York Times"
    },
    {
      "url": "urlLocation",
      "format": "mediumThreeByTwo210",
      "height": 140,
      "width": 210,
      "type": "image",
      "subtype": "photo",
      "caption": "Geraldine A. Ferraro at a hearing of the Democratic national convention’s platform committee in 1984, the year she became the first woman selected to be a major party’s vice presidential nominee.",
      "copyright": "George Tames/The New York Times"
    },
    {
      "url": "urlLocation",
      "format": "superJumbo",
      "height": 1364,
      "width": 2048,
      "type": "image",
      "subtype": "photo",
      "caption": "Geraldine A. Ferraro at a hearing of the Democratic national convention’s platform committee in 1984, the year she became the first woman selected to be a major party’s vice presidential nominee.",
      "copyright": "George Tames/The New York Times"
    }
  ],
  "short_url": "urlLocation"
}

我尝试像这样访问它:

NewsArticle newsArticle = new NewsArticle();
            newsArticle.category = data.results[counter].section;
            newsArticle.title = data.results[counter].title;
            newsArticle.fullText = data.results[counter].@abstract;
            DynamicJsonArray multimedia = data.results[counter].multimedia;
            newsArticle.image = multimedia[0].url;
            return_value.Add(newsArticle);

我得到一个“索引超出了数组的范围。” “多媒体”阵列上的异常。我的语法有问题吗?

1 个答案:

答案 0 :(得分:0)

服务的返回值似乎存在问题。第一个结果不包含该数组,这就是为什么我得到索引超出范围的异常。 谢谢Orel Eraki!