将 json 反序列化为对象和字典

Deserializing json into object and dictionary

我下面有一个 json,在“依赖项”下有嵌套数据,这可能会随时更改。所以用单独的字符串创建一个 class 来存储数据是没有意义的。随着时间的推移,它可能会越来越多。

样本Json

{
    "uniqueID": 13,
    "url": "www.abcde.com",
    "dependency": {
        "package1": "v1.0.3",
        "package2": "v5.4.2",
        "package3": "v12.3"
    },
    "assets": {
        "images": [
            "a.jpg",
            "b.jpg",
            "c.jpg",
            "d.jpg"
        ]
    }
}

我的问题是有没有一种方法可以通过为“依赖项”创建字典结构同时将结果反序列化为一个对象,这样我就可以完全摆脱 class 和变量?

我的代码当前从 json 创建对象。

    public class Dependency
    {
        public string package1 { get; set; }
        public string package2 { get; set; }
        public string package3 { get; set; }
    }

    public class Assets
    {
        public List<string> images { get; set; }
    }

    public class Root
    {
        public int uniqueID { get; set; }
        public string url { get; set; }
        public Dependency dependency { get; set; }
        public Assets assets { get; set; }
    }

    static void Main(string[] args){
        string jsonInput = File.ReadAllText(args[0]);
        Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(jsonInput);
    }

尝试将 root 更改为此

public class Root
    {
        public int uniqueID { get; set; }
        public string url { get; set; }
        public Dictionary<string, string> Dependency{ get; set; }
        public Assets assets { get; set; }
    }