0

現在、JSON デシリアライゼーションに行き詰まっています。

これが2種類のJSONです。受け取ることができます:

{

"code": 0,
"response": {
    "isFollowing": false,
    "isFollowedBy": false,
    "connections": {
        "google": {
            "url": "",
            "id": "c35f4e",
            "name": "jean"
        },
        "facebook": {
            "url": "https://www.facebook.com/",
            "id": "1000064139",
            "name": "jean mic"
        }
    },
    "isPrimary": true,
    "id": "780",
    "location": "",
    "isPrivate": false,
    "joinedAt": "2013-10-18T16:04:09",
    "username": "jeandavid",
    "numLikesReceived": 0,
    "about": "",
    "name": "jean",
    "url": "",
    "profileUrl": "",
    "reputation": ,
    "avatar": {
        "small": {
            "permalink": "https://picture.jpg",
            "cache": "https://picture.jpg"
        },
        "isCustom": false,
        "permalink": "https://picture.jpg",
        "cache": "/noavatar9.png",
        "large": {
            "permalink": "w",
            "cache": "https://picture.jpg"
        }
    },
    "isAnonymous": false
}

}

そしてこれ:

{

"response": [
    {
        "uid": 2017156,
        "first_name": "David",
        "last_name": "Jean",
        "sex": 1,
        "nickname": "",
        "bdate": "12.12.1990",
        "photo_medium": "img.jpg"
    }
]

}

最初に、私は使用します:

Dictionary<string, string> deserializedObj = JsonConvert.DeserializeObject<Dictionary<string, string>>(response);

ただし、1 次元の Json データでのみ機能します。

だからGoogleを見た後、私は使用しようとしました:

JArray jArr = (JArray)JsonConvert.DeserializeObject(response);
foreach (var item in jArr)
{
Console.WriteLine(item);
}

しかし、私はこの例外を受け取ります:

タイプ 'Newtonsoft.Json.Linq.JObject' のオブジェクトをタイプ 'Newtonsoft.Json.Linq.JArray' にキャストできません。

最初の JSON データとして、Google と Facebook のデータと、ユーザー名、評判、アバター、ユーザー ID などを取得したいと考えています。

助けてくれてありがとう!!

4

0 に答える 0