提问者:小点点

反序列化C#[已关闭]中的键/对象列表


这似乎是一个简单的问题,但我一直无法解决它或找到任何解决办法。

如何反序列化:

    {
    "1": {
        "a": "123",
        "b": "B1"
    },
    "2": {
        "a": "456",
        "b": "B2"
    }
  "3": {
        "a": "789",
        "b": "B3"
    }
}

进入对象列表:

MyObject{
public string a { get; set; }
public string b { get; set; }
}

共1个答案

匿名用户

您可以将其反序列化为字典

using System.Text.Json;
// ....
var objs = JsonSerializer.Deserialize<Dictionary<int,MyObject>>(file);
var listValue = objs.Select(o=>o.Value).ToList();

但是如果你要把它解释为一个列表,上面的方法是不推荐的,所以你的json应该从一开始就把它表示为一个列表