无法取消 JSON
本文关键字:JSON 取消 | 更新日期: 2023-09-27 18:32:40
我试图简单地使用 JavaScriptSerializer 类反序列化 JSON 有效负载,并遇到类属性 im 的问题,将这个假定的反序列化数据设置为"null"。
杰森:
{
"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;}
}
它会正常工作。使用某些序列化程序(例如 Json.NET),您还可以告诉它如何映射名称:
[DataContract]
public class JSONConverted
{
[DataMember(Name = "XmlPayload") ]
public string XmlPayloadToConvert {get;set;}
}