나는 JavaScriptSerializer 클래스를 사용하여 JSON 페이로드를 역 직렬화하려고 시도하고 클래스 속성 im 설정이 너무 'null'인 것으로 간주되는 역 직렬화 된 데이터 문제에 직면했습니다.
JSON :
{
"XmlPayload": "<PaperLessTimeSheetActivation xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://host.adp.com\"><iSIClientID>99783971</iSIClientID><organizationId>FDGFGD</organizationId><statusDescription>Success</statusDescription></PaperLessTimeSheetActivation>"
}
여기 내 코드 :
var jsObject = new JavaScriptSerializer();
string holdData = xmlPayload.ToString();
//*****issue: JSON XmlPayLoadConvert property is 'null'.
JSONConverted objectToConvert = jsObject.Deserialize<JSONConverted>(holdData);
string stringXDoc = ConvertToXDoc(objectToConvert.XmlPayloadToConvert);
여기에서 역 직렬화 된 데이터도 매핑해야합니다.
public class JSONConverted
{
public string XmlPayloadToConvert
{
get;
set;
}
}
아무도 내가 어디로 잘못 가고 있는지 말해 줄 수 있습니까?
편집하면 오류가 분명해집니다. XmlPayload
는 XmlPayloadToConvert
.
유형을 다음으로 변경하십시오.
public class JSONConverted
{
public string XmlPayload {get;set;}
}
잘 작동합니다. 일부 serializer (예 : Json.NET)를 사용하여 이름을 매핑하는 방법을 지정할 수도 있습니다.
[DataContract]
public class JSONConverted
{
[DataMember(Name = "XmlPayload") ]
public string XmlPayloadToConvert {get;set;}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다