gpt4 book ai didi

c# - 使用 Newtonsoft.json 自定义反序列化

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:51 31 4
gpt4 key购买 nike

我正在尝试为我的类结构反序列化一个 json

我有以下 JSON:

{
"Main": {
"Employees": {
"0": {
"FirstName": "Test ",
"LastName": "One"
},
"1": {
"FirstName": "Test ",
"LastName": "Two"
}
}
}
}

我想为以下类结构反序列化它:

public class Main
{
public List<Employee> Employees { get; set; }
}

public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
}

有人可以建议我如何为此/任何其他选项编写转换器来实现此目的吗?

最佳答案

显然理想的事情是使用不同的 JSON(数组),但这可能是不可能的。

这不使用自定义反序列化选项,但是 - 它有效:

dynamic root = Newtonsoft.Json.JsonConvert.DeserializeObject(json);
Newtonsoft.Json.Linq.JObject emps = root.Main.Employees;
var list = new List<Employee>();
foreach(var child in emps.Properties())
{
list.Add(child.Value.ToObject<Employee>());
}

关于c# - 使用 Newtonsoft.json 自定义反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47926305/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com