我正在尝试为我的类结构反序列化一个 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/