【发布时间】:2016-10-19 09:07:23
【问题描述】:
我正在从我无法控制的外部 API 中检索一些 JSON,并且需要将其反序列化为一个对象,其中一些字段嵌套在主对象的属性中,因此直接反序列化将不起作用。
我发现与我的问题最接近的问题是:
虽然我对使用 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 转换器以获得所需的结果,因此我们将不胜感激。
【问题讨论】: