如何将不规则 JSON 转换为字典或对象?

How to convert an irregular JSON to dictionary or object?

我知道反序列化像 { "key1": "value1", "key2": "value2"}

这样的 JSON 很热门

但现在我正在尝试使用 instagram API,它 returns 我 Json 这种形式

{
    "access_token": "fb2e77d.47a0479900504cb3ab4a1f626d174d2d",
    "user": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "..."
    }
}

由于它的结构不像键和值数组,所以我很困惑。 我需要将这些值分配给我的以下 class。

public class AccessTokenResult
        {
            public string AccessTokenString { get; set; }

            public class UserWhoTook
            {
                public int ID { get; set; }
                public string UserName { get; set; }
                public string FullName { get; set; }
            }
        }

结帐JsonConvert and questions like Using JsonConvert.DeserializeObject to deserialize Json to a C# POCO class

我建议您使用 http://json2csharp.com/ 来格式化您的对象。只需粘贴 json,它就会为您输出 类。

例如,您发布的 json 生成。

public class User
{
    public string id { get; set; }
    public string username { get; set; }
    public string full_name { get; set; }
    public string profile_picture { get; set; }
}

public class RootObject
{
    public string access_token { get; set; }
    public User user { get; set; }
}

您可以为 JSON 使用第三方库,例如 Newton Json.net:https://json.codeplex.com/