无法取消 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;
    }
}

谁能告诉我哪里出错了?

无法取消 JSON

随着编辑,错误变得很明显:XmlPayloadXmlPayloadToConvert 不同。

将您的类型更改为:

public class JSONConverted
{
    public string XmlPayload {get;set;}
}

它会正常工作。使用某些序列化程序(例如 Json.NET),您还可以告诉它如何映射名称:

[DataContract]
public class JSONConverted
{
    [DataMember(Name = "XmlPayload") ]
    public string XmlPayloadToConvert {get;set;}
}