반응형
Json.net의 늘필드 무시
JSON에 연재해야 할 데이터가 있습니다.JSON을 쓰고 있어요.NET. 코드 구조는 다음과 같습니다.
public struct structA
{
public string Field1;
public structB Field2;
public structB Field3;
}
public struct structB
{
public string Subfield1;
public string Subfield2;
}
문제는 내 JSON 출력에는Field1
또는Field2
또는Field3
사용하는 필드에 따라 다릅니다(즉, null이 아닙니다).기본적으로는 JSON은 다음과 같습니다.
{
"Field1": null,
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
"Field3": {"Subfield1": null, "Subfield2": null},
}
내가 쓸 수 있다는 거 알아NullValueHandling.Ignore
단, 다음과 같은 JSON을 얻을 수 있습니다.
{
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
"Field3": {}
}
내가 필요한 건 이거야
{
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
}
이것을 실현하는 간단한 방법이 있습니까?
네, 사용하셔야 합니다.JsonSerializerSettings.NullValueHandling = NullValueHandling.Ignore
.
단, 구조체는 값 유형이기 때문에 예상 결과를 얻으려면 필드2, 필드3을 null로 표시해야 합니다.
public struct structA
{
public string Field1;
public structB? Field2;
public structB? Field3;
}
아니면 구조 대신 수업을 이용하세요.
문서:특수한 값 처리 거열
JsonProperty 속성을 관련 속성에 적용하여 늘 값 처리를 설정할 수도 있습니다.를 참조해 주세요.Reference
다음 예시의 속성:
주의:JsonSerializerSettings
이 속성을 덮어씁니다.
public class Person
{
public int Id { get; set; }
[JsonProperty( NullValueHandling = NullValueHandling.Ignore )]
public int? Reference { get; set; }
public string Name { get; set; }
}
언급URL : https://stackoverflow.com/questions/9819640/ignoring-null-fields-in-json-net
반응형
'programing' 카테고리의 다른 글
메이븐 + 스프링 부트:org.json이 여러 개 발견되었습니다.클래스 경로의 JSONObject: (0) | 2023.03.02 |
---|---|
세션 타임아웃 및 View ExpiredJSF/PrimeFaces ajax 요청에 대한 예외 처리 (0) | 2023.03.02 |
React Hook useEffect에 종속성이 누락되었습니다. '리스트' (0) | 2023.03.02 |
REST API를 사용하여 게시할 사용자 지정 분류법 할당 (0) | 2023.03.02 |
php 프로세스 메모리 사용을 최적화하는 방법 (0) | 2023.03.02 |