Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#反序列化JSON_C#_Json_Deserialization - Fatal编程技术网

C#反序列化JSON

C#反序列化JSON,c#,json,deserialization,C#,Json,Deserialization,面对这样的问题: 我这里有JSON的答案,这棵树对我来说太难了,我只需要画一些图标url和图标url大的对象。是否必须为此目的反序列化所有JSON。帮我把这棵树分类。Thx { "result": { "230968023": { "icon_url": "W_I_5GLm4wPcv9jJQ7z7tz_l_0sEIYUhRfbF4arNQkgGQGKd3kMuVpMgCwRZrg-fckaVmPtFa-_fPQY2FZOxF0a-NaiPx

面对这样的问题:

我这里有JSON的答案,这棵树对我来说太难了,我只需要画一些图标url和图标url大的对象。是否必须为此目的反序列化所有JSON。帮我把这棵树分类。Thx

    {
    "result": {
        "230968023": {
            "icon_url": "W_I_5GLm4wPcv9jJQ7z7tz_l_0sEIYUhRfbF4arNQkgGQGKd3kMuVpMgCwRZrg-fckaVmPtFa-_fPQY2FZOxF0a-NaiPx0vyWoYQIoc0bz9AhIzrg00QBijXDLdCANArvs-Shwy5Dh3RJ2URl3QA-A",
            "icon_url_large": "W_I_5GLm4wPcv9jJQ7z7tz_l_0sEIYUhRfbF4arNQkgGQGKd3kMuVpMgCwRZrg-fckaVmPtFa-_fPQY2FZPASkWvM6jDw0v0XohCf9Y8bj4b3dm9gxsTXHDSDeAXXIEjvMmShgrtCVeZfDA-n5JB3KTzdw2wPA",
            "icon_drag_url": "",
            "name": "Inscribed Whalehook",
            "market_hash_name": "Inscribed Whalehook",
            "market_name": "Inscribed Whalehook",
            "name_color": "CF6A32",
            "background_color": "",
            "type": "Immortal weapon",
            "tradable": "1",
            "marketable": "1",
            "commodity": "0",
            "market_tradable_restriction": "7",
            "market_marketable_restriction": "7",
            "fraudwarnings": "",
            "descriptions": {
                "0": {
                    "type": "html",
                    "value": "Used By: Pudge",
                    "app_data": ""
                },
                "1": {
                    "type": "html",
                    "value": "Ideally, a hook made for reeling in enormous creatures of the deep would not gouge and hack into the bones and flesh of the prey. But Pudge doesn't much care if he makes a mess of his meat.",
                    "app_data": ""
                }
            },
            "tags": {
                "0": {
                    "internal_name": "strange",
                    "name": "Inscribed",
                    "category": "Quality",
                    "color": "CF6A32",
                    "category_name": "Quality"
                },
                "1": {
                    "internal_name": "Rarity_Immortal",
                    "name": "Immortal",
                    "category": "Rarity",
                    "color": "e4ae39",
                    "category_name": "Rarity"
                },
                "2": {
                    "internal_name": "wearable",
                    "name": "Wearable",
                    "category": "Type",
                    "category_name": "Type"
                },
                "3": {
                    "internal_name": "weapon",
                    "name": "Weapon",
                    "category": "Slot",
                    "category_name": "Slot"
                },
                "4": {
                    "internal_name": "npc_dota_hero_pudge",
                    "name": "Pudge",
                    "category": "Hero",
                    "category_name": "Hero"
                }
            },
            "classid": "230968023"
        },
        "success": true
    }
}
我试着去做一些反序列化的课程

        public class ResultSteamApi
    {
        [JsonProperty("result")]
        public List<SteamApiResult> results { get; set; }
    }

    public class SteamApiResult
    {
        public List<SteamApiClassid> classnum { get; set; }

        [JsonProperty("success")]
        public bool success { get; set; }
    }

    public class SteamApiClassid
    {
        [JsonProperty("icon_url")]
        public string icon_url { get; set; }

        [JsonProperty("icon_url_large")]
        public string icon_url_large { get; set; }

        [JsonProperty("icon_drag_url")]
        public string icon_drag_url { get; set; }

        [JsonProperty("name")]
        public string name { get; set; }

        [JsonProperty("market_hash_name")]
        public string market_hash_name { get; set; }

        [JsonProperty("market_name")]
        public string market_name { get; set; }

        [JsonProperty("name_color")]
        public string name_color { get; set; }

        [JsonProperty("background_color")]
        public string background_color { get; set; }

        [JsonProperty("type")]
        public string type { get; set; }

        [JsonProperty("tradable")]
        public string tradable { get; set; }

        [JsonProperty("marketable")]
        public string marketable { get; set; }

        [JsonProperty("commodity")]
        public string commodity { get; set; }

        [JsonProperty("market_tradable_restriction")]
        public string market_tradable_restriction { get; set; }

        [JsonProperty("market_marketable_restriction")]
        public string mmarket_marketable_restriction { get; set; }

        [JsonProperty("fraudwarnings")]
        public string fraudwarnings { get; set; }

        [JsonProperty("descriptions")]
        public List<SteamApiDescriptions> descriptions { get; set; }

        [JsonProperty("classid")]
        public string classid { get; set; }
    }
公共类ResultSteamApi
{
[JsonProperty(“结果”)]
公共列表结果{get;set;}
}
公开课成绩
{
公共列表classnum{get;set;}
[JsonProperty(“成功”)]
公共bool成功{get;set;}
}
公共类
{
[JsonProperty(“图标url”)]
公共字符串图标\u url{get;set;}
[JsonProperty(“图标url大”)]
公共字符串图标\u url\u large{get;set;}
[JsonProperty(“图标拖动url”)]
公共字符串图标\u拖动\u url{get;set;}
[JsonProperty(“名称”)]
公共字符串名称{get;set;}
[JsonProperty(“市场名称”)]
公共字符串market\u hash\u name{get;set;}
[JsonProperty(“市场名称”)]
公共字符串market_name{get;set;}
[JsonProperty(“名称颜色”)]
公共字符串名称\u color{get;set;}
[JsonProperty(“背景颜色”)]
公共字符串背景颜色{get;set;}
[JsonProperty(“类型”)]
公共字符串类型{get;set;}
[JsonProperty(“可交易”)]
公共字符串可交易{get;set;}
[JsonProperty(“可销售”)]
公共字符串可销售{get;set;}
[JsonProperty(“商品”)]
公共字符串商品{get;set;}
[JsonProperty(“市场可交易限制”)]
公共字符串市场可交易限制{get;set;}
[JsonProperty(“市场可销售限制”)]
公共字符串mmarket_marketable_restriction{get;set;}
[JsonProperty(“欺诈”)]
公共字符串{get;set;}
[JsonProperty(“说明”)]
公共列表描述{get;set;}
[JsonProperty(“classid”)]
公共字符串classid{get;set;}
}

或者如何在没有反序列化的情况下获得具体的jbject好的,反序列化是个坏主意。只要从代币上取就行了

JObject j = JObject.Parse(jsonstring);
        string icon_url = (string)j.SelectToken("result.230968023.icon_url");
        string icon_url_large = (string)j.SelectToken("result.230968023.icon_url_large");
        MessageBox.Show(icon_url);

Thx.

Stackoverflow也有类似的问题吗?你检查过了吗?您尝试过什么?您尝试过最简单的可能有效的方法吗,即反序列化所有JSON?这对您来说太慢了吗?您想只反序列化对象的一部分吗?您将如何确定哪一部分?我需要接收带有反序列化或不太好的icon_url和icon_url_large。您可能应该澄清您使用的是Json.NET或类似的库-