无法反序列化JSON

用户名

我试图使用JavaScriptSerializer类简单地反序列化JSON负载,并遇到类属性的问题,即将该假定的反序列化数据也设置为“ 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;}
}

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章