【问题标题】:Deserialize list of key / objects in C# [closed]反序列化 C# 中的键/对象列表 [关闭]
【发布时间】:2022-01-15 19:25:33
【问题描述】:

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

如何反序列化:

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

【问题讨论】:

    标签: c# json serialization


    【解决方案1】:

    您可以将其反序列化为Dictionary<int,MyObject>

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

    但如果您要将其解释为列表,则不建议使用上述方法,因此您的json应该从一开始就将其表示为列表

    【讨论】:

    • 谢谢你,就是这样,也许太明显了:)
    猜你喜欢
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多