user5204184
user5204184

Reputation: 341

JSON Parsing in C# child members

I am trying to parse JSON data from Instagram API and I am having problem with parsing the child elements. For example, one Instagram response looks like this:

{
    "pagination": {
        "next_url": "https://api.instagram.com/v1/users/273112457/followed-by?access_token=1941825738.97584da.3242609045494207883c900cbbab04b8&cursor=1439090845443",
        "next_cursor": "1439090845443"
    },
    "meta": {
        "code": 200
    },
    "data": [
        {
            "username": "ohdyxl",
            "profile_picture": "https://igcdn-photos-e-a.akamaihd.net/hphotos-ak-xfp1/t51.2885-19/11093019_661322517306044_2019954676_a.jpg",
            "id": "1393044864",
            "full_name": "只有你和我知道"
        },
        {
            "username": "dpetalco_florist",
            "profile_picture": "https://igcdn-photos-a-a.akamaihd.net/hphotos-ak-xtf1/t51.2885-19/11192809_930052080349888_1420093998_a.jpg",
            "id": "1098934333",
            "full_name": "D'petalco florist"
        }
    ]
}

My code is the following:

dynamic d = JObject.Parse(response);
foreach (var result in d["data"])
{
    string userName = (string)result["username"];
    list.Add(userName);
}

This part works perfectly, however when I try to extract pagination, I get a child error access error.

My code is the following:

foreach (var res in d["pagination"])
{
    string nexturl = (string)res["next_url"];
    string nextcursor = (string)res["next_cursor"];
}

How can I extract the next_url and next_curosr from "pagination" in C#? Thanks.

Upvotes: 1

Views: 206

Answers (1)

har07
har07

Reputation: 89285

Unlike data property value, pagination property value is not an array so you don't need foreach loop here :

var res = d["pagination"];
string nexturl = (string)res["next_url"];
string nextcursor = (string)res["next_cursor"];

or without using intermediate variable res :

string nexturl = (string)d["pagination"]["next_url"];
string nextcursor = (string)d["pagination"]["next_cursor"];

Upvotes: 2

Related Questions