JSON 到 C# 类问题



我对使用JSON相当陌生,并且从Web服务获得的JSON响应有点问题。 我尝试了一堆在线"JSON 到 c# 类"生成器,它们似乎都不适用于这个特定的 JSON。 我正在使用 Pocket API 和我在下面得到的响应。谁能指出我将其格式化为类的正确方向?

    {
    "status": 1,
    "list": {
        "229279689": {
            "item_id": "229279689",
            "resolved_id": "229279689",
            "given_url": "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-   preview",
            "given_title": "The Massive Ryder Cup Preview - The Triangle Blog - Grantland",
            "favorite": "0",
            "status": "0",
            "resolved_title": "The Massive Ryder Cup Preview",
            "resolved_url": "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-preview",
            "excerpt": "The list of things I love about the Ryder Cup is so long that it could fill a (tedious) novel, and golf fans can probably guess most of them.",
            "is_article": "1",
            "has_video": "1",
            "has_image": "1",
            "word_count": "3197",
            "images": {
                "1": {
                    "item_id": "229279689",
                    "image_id": "1",
                    "src": "http://a.espncdn.com/combiner/i?img=/photo/2012/0927/grant_g_ryder_cr_640.jpg&w=640&h=360",
                    "width": "0",
                    "height": "0",
                    "credit": "Jamie Squire/Getty Images",
                    "caption": ""
                }
            },
            "videos": {
                "1": {
                    "item_id": "229279689",
                    "video_id": "1",
                    "src": "http://www.youtube.com/v/Er34PbFkVGk?version=3&hl=en_US&rel=0",
                    "width": "420",
                    "height": "315",
                    "type": "1",
                    "vid": "Er34PbFkVGk"
                }
            }
        }
    }
}

感谢您的任何指示,

有点棘手,但这应该有效。(因为属性名称如229279689

var result = JsonConvert.DeserializeObject<Root>(json);

public class MyImage
{
    public string item_id { get; set; }
    public string image_id { get; set; }
    public string src { get; set; }
    public string width { get; set; }
    public string height { get; set; }
    public string credit { get; set; }
    public string caption { get; set; }
}
public class MyVideo
{
    public string item_id { get; set; }
    public string video_id { get; set; }
    public string src { get; set; }
    public string width { get; set; }
    public string height { get; set; }
    public string type { get; set; }
    public string vid { get; set; }
}
public class MyListItem
{
    public string item_id { get; set; }
    public string resolved_id { get; set; }
    public string given_url { get; set; }
    public string given_title { get; set; }
    public string favorite { get; set; }
    public string status { get; set; }
    public string resolved_title { get; set; }
    public string resolved_url { get; set; }
    public string excerpt { get; set; }
    public string is_article { get; set; }
    public string has_video { get; set; }
    public string has_image { get; set; }
    public string word_count { get; set; }
    public Dictionary<string, MyImage> images; // <---
    public Dictionary<string, MyVideo> videos; // <---
}
public class Root
{
    public int status;
    public Dictionary<string, MyListItem> list; // <---
}

你试过 Json.NET:

JObject o = JObject.Parse("some json");
string name = (string)o["Name"];

相关内容

  • 没有找到相关文章

最新更新