내 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 값을 대체 할 수는 있지만이를 원하지는 않습니다.
이것에 대한 의견이 있으십니까?
[JavaScriptSerializer가 null/기본값으로 속성을 제외 할 수 있습니까?] (http://stackoverflow.com/questions/1387755/can-javascriptserializer-exclude-properties-with-null-default-values) – flup