728x90
반응형
상황에 따라 생성해 놓은 모델에 null 값이 들어간 부분을 제외하고 변환해야 할때가 있다.
ex) API POST 호출시
예를 들어 아래처럼
testModel.cs
public class TEST
{
public int count { get; set; }
public int start { get; set; }
public string expand { get; set; }
public string select { get; set; }
}
var test = new TEST()
{
count = 5,
start = 0,
select = "(**)"
};
string data = JsonConvert.SerializeObject(test);
jsonConvert로 변환할 경우 모델에 expand 값을 넣지 않았기때문에
{
"count": 5,
"start": 0,
"expand": null,
"select": "(**)"
}
JsonConvert.SerializeObject 실행 결과
위와 같은 형태로 json이 만들어질 것 이다.
하지만 expand를 표시하지 않아야 되는 형태가 되려면
string data = JsonConvert.SerializeObject(test); 이부분을
string data = JsonConvert.SerializeObject(test, Formatting.Indented, new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
});
위와 같은 형태로 NullValueHandling.Ignore을 이용해 변환한다면
{
"count": 5,
"start": 0,
"select": "(**)"
}
다음과 같이 변환할 수 있다.
잘못된 부분이나 질문 사항 댓글로 남겨주시면
답변드리겠습니다~~ 감사합니다!
728x90
반응형
'프로그래밍' 카테고리의 다른 글
c# 키워드(keywords) 변수명 선언 방법 (0) | 2021.04.01 |
---|---|
[c# json .net] NewtonSoft JsonProperty 이용해 dash(-) 속성 이름 변환 (0) | 2021.04.01 |
ASP.NET C# Web API Identity Oauth 인증 샘플 코드 (0) | 2021.03.19 |
Microsoft Azure SQL 데이터베이스 생성/연결 하기 (0) | 2021.03.04 |
[C#] Nlog를 이용하여 Azure Storage에 로그 저장 하기 - Nlog.Extensions.AzureStorage (0) | 2021.03.03 |
댓글