외부 API에서 JSON을 검색하고 있는데, 컨트롤을 사용할 수없고 일부 필드가 속성으로 중첩 된 객체로 역 직렬화해야합니다. 주 개체이므로 직선적 인 디시 리아리스가 작동하지 않습니다.JSON.NET을 사용하여 복잡한 JSON 객체를 비 병렬화하기
나는 내 문제를 발견 한 가장 가까운 질문은 :
정말 내가 JSON.NET을 사용하고 여전히 노력에 비교적 새로운 해요로하지만 내 문제에 이것을 적용 할 수 어떻게 작동하는지 이해할 수 있습니다.
작은 샘플은 다시 API에서 JSON을 설명합니다 :
{
FirstName: "John",
LastName: "Smith",
PassportNo: "xxxxx",
NiNo: "xxxxx",
}
클래스 (들)에 내가 deserialise 싶어 : 나는 이동하는 방법을 잘하지 않았다
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 변환기를 구현하는 방법에 대해 설명합니다.
, 나는이 방법을 생각하지만 하드 코드 유지 보수에 대한 매핑이없는 기대하고 있었는데 그것은 특히 확대됨 아니다 나는 반사를 사용하지 않습니다. 고마워요. 아마이 일을하고 유지 관리 비용을 처리 할 것입니다. – Vistari
반성해도 문제가 발생할 수 있습니다. Person 클래스에 다른 클래스 핸들러가 있고 그 핸들러에 'NiNo'라는 또 다른 속성이 있다고 가정 해 보겠습니다. 식별자 (예 :'prefix.NiNo')가없는 경우 속성에 올바른 값을 설정하는 것이 가장 불가능합니다 – Tinwor