C# 使用变量键反序列化JSON
具有此json格式数据:C# 使用变量键反序列化JSON,c#,json,deserialization,C#,Json,Deserialization,具有此json格式数据: { "43296001103418946331805279000": { "city": "43296001", "district": "43296001-1034189463", "floor": "5", "price": "279000", "rooms": "3", "size": "80" }, "432960018694019521321777312000"
{
"43296001103418946331805279000": {
"city": "43296001",
"district": "43296001-1034189463",
"floor": "5",
"price": "279000",
"rooms": "3",
"size": "80"
},
"432960018694019521321777312000": {
"city": "43296001",
"district": "43296001-86940195213",
"floor": "7",
"price": "312000",
"rooms": "2",
"size": "77"
}
}
我有这门课:
public class Flat
{
public string city{ get; set; }
public string district{ get; set; }
public string floor{ get; set; }
public string price{ get; set; }
public string rooms{ get; set; }
public string size{ get; set; }
}
但是,如果键是变量id,我如何反序列化该对象呢?在这种情况下,您将有:
public class JsonData
{
public List<Dictionary<string, Flat>> Data { get; set; }
}
公共类JsonData
{
公共列表数据{get;set;}
}
然后通过以下操作反序列化:
JsonData data = JsonConvert.DeserializeObject<JsonData>(json);
jsondatadata=JsonConvert.DeserializeObject(json);
我认为您需要这样使用:
var out = JsonConvert.DeserializeObject<Dictionary<string, ISBN>>(json);
var isbn_out = out.Values.First();
看看这个。反序列化到字典。在这种情况下,
Dictionary
isbn_out.Flat.city;