我想用 .Net 3.1 反序列化以下 JSON
我的困难是当这个对象被序列化时,这个对象的“1234”键是未知的。我怎么能反序列化这个?我要保留的值是嵌套的“first_name”和“last_name”属性
{
"1234":{
"id":1234,
"first_name":"John",
"last_name":"Doe"
}
}
任何帮助表示赞赏!
我想用 .Net 3.1 反序列化以下 JSON
我的困难是当这个对象被序列化时,这个对象的“1234”键是未知的。我怎么能反序列化这个?我要保留的值是嵌套的“first_name”和“last_name”属性
{
"1234":{
"id":1234,
"first_name":"John",
"last_name":"Doe"
}
}
任何帮助表示赞赏!
您可以使用字典:
public class Child
{
[JsonPropertyName("id")]
public string ID { get; set; }
[JsonPropertyName("first_name")]
public string FirstName { get; set; }
[JsonPropertyName("last_name")]
public string LastName { get; set; }
}
public class Parent
{
public Dictionary<string, Child> Children { get; set; }
}
然后,您可以通过Children
使用Foreach
或枚举Linq
。
如果您使用该Newtonsoft.Json.JsonConverter
库,您可以创建一个自定义JsonConverter
来处理动态属性并覆盖 ReadJson 和 WriteJson 方法。
public class MyConverter : JsonConverter
{
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
// write your custom read json
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
// write your custom write json
}
}
https://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_JsonConverter.htm