JSON.包含xml的Net反序列化对象



我有一个JSON对象,其特定字段的值始终是XML,如下所示:

{
    ...
    "XmlValue": "<tag1><etc></etc></tag1>"
    ...
}

我使用JSON。Net作为反序列化器。我想把它反序列化成这样的一个类:

public class ObjectContainingXml
{
    ...
    public XElement XmlValue { get;set; }
    ...
}

当我尝试使用JsonConvert.DeserializeObject<ObjectContainingXml>(input)时,我得到这个异常:XmlNodeConverter can only convert JSON that begins with an object.

是否有一种方法可以使其在JSON中本机工作。Net不处理该字段作为字符串,然后解析字段到XML手动?

目前还没有内置的方法在JSON.Net中执行这种反序列化。

背景:

XmlNodeConverter表示将XML序列化为JSON。例如,像

这样的节点
<root><p>Text1<span>Span1</span> <span>Span2</span> Text2</p></root>

将被序列化为

{"root":{"p":{"#text":["Text1"," Text2"],"span":["Span1","Span2"]}}}

如果您需要将XML序列化为字符串并返回,则需要实现自定义JsonConverter

相关内容

  • 没有找到相关文章

最新更新