我有一个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
。