Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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
将具有动态属性的Json转换为C#_C#_Json_Asp.net Web Api_Dynamic Programming_Type Conversion - Fatal编程技术网

将具有动态属性的Json转换为C#

将具有动态属性的Json转换为C#,c#,json,asp.net-web-api,dynamic-programming,type-conversion,C#,Json,Asp.net Web Api,Dynamic Programming,Type Conversion,我在将这个json转换为c#时遇到了一个相当大的问题,因为保存我需要的所有数据的对象是一个动态属性,我不能像以前那样定义一个保存所有属性值的类。下面是示例json,从“144038410”对象提取数据有什么想法吗?我感谢在这个问题上提供任何指导 { "result": { "144038410": { "icon_url": "W_I_5GLm4wPcv9jJQ7z7tz_l_0sEIYUhRfbF4arNQkgGQGKd3kMuVpMgCwRZrhyFY1OZ0v4CY

我在将这个json转换为c#时遇到了一个相当大的问题,因为保存我需要的所有数据的对象是一个动态属性,我不能像以前那样定义一个保存所有属性值的类。下面是示例json,从“144038410”对象提取数据有什么想法吗?我感谢在这个问题上提供任何指导

{
"result": {
    "144038410": {
        "icon_url": "W_I_5GLm4wPcv9jJQ7z7tz_l_0sEIYUhRfbF4arNQkgGQGKd3kMuVpMgCwRZrhyFY1OZ0v4CYfbKFzE6FY3tT0Gve6aY1lyeWN9SaN1gKyFN2I3hgUkVXHeDV78TC9V_vJLFhwPrXgeUf2ZpytoBgaXHiZCBWKDVt1K5J0cGAAdo",
        "icon_url_large": "W_I_5GLm4wPcv9jJQ7z7tz_l_0sEIYUhRfbF4arNQkgGQGKd3kMuVpMgCwRZrhyFY1OZ0v4CYfbKFzE6FY3tT0Gve6aY1lyeWN9SaN1gK1AV3Zu_01cXBiPUB7EVXNJ4tczLh1i8BQrEcDs0nt8Ch_Wc0cOCU67VqxbjdgUmzaQ3WoDEBb7J",
        "icon_drag_url": "",
        "name": "Kupu the Metamorpher",
        "market_hash_name": "Kupu the Metamorpher",
        "market_name": "Kupu the Metamorpher",
        "name_color": "D2D2D2",
        "background_color": "",
        "type": "Mythical Kupu Courier",
        "tradable": "1",
        "marketable": "1",
        "commodity": "0",
        "market_tradable_restriction": "7",
        "market_marketable_restriction": "7",
        "fraudwarnings": "",
        "descriptions": {
            "0": {
                "type": "html",
                "value": "All hail Kupu the Metamorpher!  Honest and forthright, Kupu with delivery your items in a most timely fashion.  Steadfast!",
                "app_data": ""
            }
        },
        "tags": {
            "0": {
                "internal_name": "unique",
                "name": "Standard",
                "category": "Quality",
                "color": "D2D2D2",
                "category_name": "Quality"
            },
            "1": {
                "internal_name": "Rarity_Mythical",
                "name": "Mythical",
                "category": "Rarity",
                "color": "8847ff",
                "category_name": "Rarity"
            },
            "2": {
                "internal_name": "courier",
                "name": "Courier",
                "category": "Type",
                "category_name": "Type"
            },
            "3": {
                "internal_name": "courier",
                "name": "Courier",
                "category": "Slot",
                "category_name": "Slot"
            },
            "4": {
                "internal_name": "DOTA_OtherType",
                "name": "Other",
                "category": "Hero",
                "category_name": "Hero"
            }
        },
        "classid": "144038410"
    },
    "success": true
}

}

您必须使用
JsonProperty
属性来修饰您的格式属性,以告诉它如果名称不完全匹配会发生什么:

partial class result
{
    [JsonProperty("144038410")]
    public dynamic _144038410 {get; set;}
}

另请参见

我知道你可以这样做,但问题是我有大约5000条记录,所以我必须为5000个不同的数字这样做?必须有一个更干净的解决方案,我只是用下面的方法得到的,谢谢所有的帮助。JObject json=JsonConvert.DeserializeObject(jsonString);var asdf=为什么[“结果”].First.First.ToObject();其中,POCO是一个包含我需要的属性的类