如何使用动态属性名称反序列化JSON对象? [英] How can I deserialize a JSON object with dynamic property names?

查看:76
本文介绍了如何使用动态属性名称反序列化JSON对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是来自远程服务器的JSON....如何为此创建C#对象?

Here is my JSON from a remote server....how do I create a C# object for this?

{
    "payload":
    {
        "one":
        {
            "x": 1
        },
        "two":
        {
            "x": 2
        },
        "three":
        {
            "x": 3
        }
    }
}

http://json2csharp.com/创建了三个类型为一个",两个"和三个"的类"...但是这些都是动态值.在下一个请求中,我可能会得到四个",五个",六个"

http://json2csharp.com/ created three classes of type "one", "two" and "three"...but these are dynamic values. I may get "four", "five", "six" on the next request

推荐答案

您可以使用Dictionary<string,YourClass>

string json = @"{ ""payload"": { ""one"": { ""x"":1 }, ""two"": { ""x"":2 }, ""three"": { ""x"":3 } } }";
var  root = JsonConvert.DeserializeObject<RootObject>(json);


public class Item
{
    public int x { get; set; }
}

public class RootObject
{
    public Dictionary<string,Item> payload { get; set; }
}

这篇关于如何使用动态属性名称反序列化JSON对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆