>백엔드 개발 >C++ >Json.net을 사용하여 구조가 일치하지 않는 JSON 개체 배열을 역직렬화하는 방법은 무엇입니까?

Json.net을 사용하여 구조가 일치하지 않는 JSON 개체 배열을 역직렬화하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-05 08:28:38562검색

How to Deserialize a JSON Object Array with Mismatched Structure Using Json.net?

Json.net으로 JSON 객체 배열 직렬화

원하는 JSON 구조가 예상 형식과 약간 다른 상황이 발생할 수 있습니다. 이 문제는 예를 들어 아래와 같이 JSON 개체 배열의 특정 경우에 발생합니다.

[
   {
      "customer":{
         ...
      }
   },
   {
      "customer":{
         ...
      }
   }
]

불행히도 Json.net은 다음과 같은 보다 일반적인 구조를 기대합니다.

{
    "customer": {
        ...
    }
}

그러므로 이러한 불일치를 어떻게 조정합니까?

해결책은 일치하는 맞춤형 모델을 만드는 데 있습니다. 실제 JSON 구조를 사용합니다. CustomerJson 및 Customer와 같은 클래스를 정의함으로써 JSON 속성을 특정 필드에 매핑할 수 있습니다.

public class CustomerJson
{
    [JsonProperty("customer")]
    public Customer Customer { get; set; }
}

public class Customer
{
    [JsonProperty("first_name")]
    public string Firstname { get; set; }

    [JsonProperty("last_name")]
    public string Lastname { get; set; }

    ...
}

이 사용자 정의 모델을 사용하면 다음을 사용하여 제공된 JSON을 쉽게 역직렬화할 수 있습니다.

JsonConvert.DeserializeObject<List<CustomerJson>>(json);

마지막으로 JSON 직렬화 및 역직렬화에 대한 포괄적인 정보는 공식 문서를 참조하세요.

위 내용은 Json.net을 사용하여 구조가 일치하지 않는 JSON 개체 배열을 역직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.