解析具有不确定数据的json

sup*_*314 0 c# json json.net deserialization json-deserialization

如何解析具有Assets对象的json是未知的?

{   
    "ClassName": "Excel",
    "Teacher": "Esther",
    "Student": 50,
    "Aircond": 0,
    "Assets": {
        "Chair": 50,
        "Table": 50,
        "Fan": 2,
        and might be more here and is unknown to me
    }
}
Run Code Online (Sandbox Code Playgroud)

fkn*_*knx 5

如果您确定Assets只是一堆具有不同类型值的键,那么您可以使用a IDictionary<string, object>来存储Assets:

public class MyClass
{
    public string ClassName { get; set; }
    public string Teacher { get; set; }
    public int Student { get; set; }
    public int Aircond { get; set; }
    public IDictionary<string, object> Assets { get; set; }
}

var myClass = JsonConvert.DeserializeObject<MyClass>(json);
Run Code Online (Sandbox Code Playgroud)