以下是我从端点收到的json部分。

如果您查看下面的Json,“用户定义的网络名称”是一个自定义节点,并且名称每次都会更改。

如何为此Json定义C#对象?

"addresses": {
            "public": [{
                "version": 6,
                "address": "2005:4600:788e:0910:1a72:81c0:ff03:c7y6"
            },
            {
                "version": 4,
                "address": "197.68.xx.xxx"
            }],
            "private": [{
                "version": 4,
                "address": "10.xx.xx.xxx"
            }],
            "User-Defined-Network-Name": [{
                "version": 4,
                "address": "192.xxx.x.xxx"
            }]
        }


这就是我走了多远-

[Serializable]
    public class Addresses
    {
        public List<Public> @public { get; set; }
        public List<Private> @private { get; set; }
    }


我正在使用'JavascriptSerializer'类反序列化json。

谢谢,
瑞安

最佳答案

可以将addresses反序列化为类似Dictionary<string,List<YourClass>>的类型,其中YourClass包含versionaddresss

var obj = new JavaScriptSerializer().Deserialize<Root>(jsonstring);


-

public class Root
{
    public Dictionary<string,List<VersionAddress>> addresses;
    //Your other fields/properties
}

public class VersionAddress
{
    public string version;
    public string address;
}

关于c# - 如何将Json中的自定义节点反序列化为名称不断变化的C#?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14368913/

10-11 23:11
查看更多