我正在从一个我无法控制的外部API检索一些JSON,并需要将其反序列化为一个对象,其中一些字段嵌套在主对象的属性中,因此直接反序列化不起作用。
我找到的与我的问题最接近的问题是: Json .Net serialize flat object into a complex object (change objects structure on serialization/deserialization) 然而,我无法将其应用于我的问题,因为我对使用JSON.NET还比较新,并且仍在尝试理解它的工作原理。
这里是一个演示从API返回的json的小样本:
我找到的与我的问题最接近的问题是: Json .Net serialize flat object into a complex object (change objects structure on serialization/deserialization) 然而,我无法将其应用于我的问题,因为我对使用JSON.NET还比较新,并且仍在尝试理解它的工作原理。
这里是一个演示从API返回的json的小样本:
{
FirstName: "John",
LastName: "Smith",
PassportNo: "xxxxx",
NiNo: "xxxxx",
}
我想要反序列化的类:
internal sealed class Person
{
[JsonProperty(PropertyName = "FirstName")]
public string FirstName { get; set; }
[JsonProperty(PropertyName = "LastName")]
public string LastName { get; set; }
public PrivateData PrivateData { get; set; }
}
internal sealed class PrivateData
{
[JsonProperty(PropertyName = "PassportNo")]
public string PassportNo { get; set; }
[JsonProperty(PropertyName = "NiNo")]
public string NationalInsuranceNumber { get; set; }
}
我不确定如何实现自定义合同解析器/JSON转换器以实现所需的结果,因此任何指导都将不胜感激。