简体   繁体   中英

Multiple layers in JSON with System.Web.Helpers

I've been using a service that returns a JSON file with an array inside and object in an array. The problem with the second layer array is that I can't seem to use it. The JSON looks something like this:

{
  "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"
}

I tried accessing it like this:

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);

I get an "Index was outside the bounds of the array." exception on the "multimedia" array. Is there something wrong with my syntax?

There seemed to be a problem in the return value of the service. The first result did not contain that array, that was why I got the index out of bounds exception. Thanks Orel Eraki!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM