0

내 WPF MVVM 응용 프로그램에서 JSON 형식의 편안한 WCF 서비스에서 데이터를 가져옵니다. JavaScriptSerializer를 사용하여이 데이터를 비 직렬화합니다. 그러나 이것이 있으면 null 값을 처리 할 수 ​​없습니다. 이 경우 DBnull 값 대신 보내고 싶지 않은 값을 보내야합니다.JavaScriptSerializer Serializer가 null 값을 처리하지 않습니다.

WCF 서비스 : dcReportEmployee은 WPF 출원 datacontract

[DataContract] 
public class dcReportEmployee 
{ 
    [DataMember] 
    public string Name { get; set; } 
    [DataMember] 
    public Int32 Status { get; set; } 
} 

이다

[OperationContract] 
    [WebInvoke 
     (
      Method = "GET", 
      ResponseFormat = WebMessageFormat.Json, 
      UriTemplate = "ReportEmployee/All" 

     ) 
    ] 
    dcReportEmployee[] GetReportEmployee(); 

: objResponseString 다음의 실패를 어떤 널 값을 포함하는 경우 여기

 string sUrl = "LocalHostURL"; 

     System.Net.WebRequest request = System.Net.HttpWebRequest.Create(sUrl); 

     request.Method = "GET"; 

     request.UseDefaultCredentials = true; 

     request.ContentLength = 0; 

     System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse; 

     Stream objResponseStream = response.GetResponseStream(); 

     StreamReader reader = new StreamReader(objResponseStream); 

     string objResponseString = reader.ReadToEnd(); 

     response.Close(); 

     JavaScriptSerializer objJsonserialiser = new JavaScriptSerializer(); 

     T[] arrResult = objJsonserialiser.Deserialize<T[]>(objResponseString); 

. null 값을 대체 할 수는 있지만이를 원하지는 않습니다.

이것에 대한 의견이 있으십니까?

+0

[JavaScriptSerializer가 null/기본값으로 속성을 제외 할 수 있습니까?] (http://stackoverflow.com/questions/1387755/can-javascriptserializer-exclude-properties-with-null-default-values) – flup

답변

0

Newtonsoft Library for Serialization을 사용하십시오.

+0

왜, 당신이 정교 할 수 있니? 그 일을 할 수있는 유일한 도서관입니까? 다른 옵션보다 훨씬 명확한가요? – flup

+0

Newtonsoft 라이브러리는 JavaScriptSerializer가 수행 할 수없는 null 및 복잡한 중첩 객체의 경우를 핸드북했습니다. – Priyank