簡體   English   中英

將 json 反序列化為 object 和字典

[英]Deserializing json into object and dictionary

我在下面有一個 json 嵌套數據在“依賴”下,這可能隨時改變。 所以用單獨的字符串創建一個 class 來存儲數據是沒有意義的。 隨着 go 的開啟,它最終可能會越來越多。

樣品 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"
        ]
    }
}

我的問題是有沒有辦法通過為“依賴”創建一個字典結構同時將結果反序列化為 object,這樣我就可以完全擺脫 class 和變量?

我的代碼當前從 json 創建 object。

    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);
    }

嘗試將根更改為此

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; }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM