2012-11-20 4 views
8

나는 닷넷 웹 API 기술을 사용하여 HTTP 서비스를 만드는거야, 좀 DTO 클래스를 생성 한 데이터 만의 특정 부분 집합 난 단지 DTO들 충전에 계획입니다 필요할 때 해당 데이터를 전송하여 전송되는 데이터의 양을 최소화하십시오.JSON 직렬화 - 제거 빈 키

비어있는 그 데이터 멤버를 무시하는 JSON 시리얼 라이저를 가져 오는 방법이 있나요? 나는 특정 구성원을 무시합니다 [JsonIgnore] 및 [ScriptIgnore] 속성이의 실현,하지만 그들은 null 또는 비어있는 경우 난 단지 그들을 무시해야합니다.

나는 WebApiConfig.cs에 다음은 웹 API에서 이것을 활성화하기 위해 추가 [편집]

아래 LB에

감사 :

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter; 
json.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; 

답변

14

Json.Net

에 대한 설정이 있습니다
var str = JsonConvert.SerializeObject(obj, 
    new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); 
+0

굉장; 고맙습니다. 웹 API에서 내가 한 일을 보여주기 위해 제 질문을 수정했습니다. – Dale