C# Json.Net将复杂对象序列化为Xml属性和值

C# Json.Net将复杂对象序列化为Xml属性和值,c#,json,xml,json.net,C#,Json,Xml,Json.net,假设我有一个Json对象,如下所示: { "Phones": [ { "Phone": { "Value": 123, "@Type": "Foo" } } ] } <Phones> <Phone Type="Foo">123</Phone> </Phones> 我想调用Json

假设我有一个Json对象,如下所示:

{
    "Phones": [
        {
            "Phone": {
                "Value": 123,
                "@Type": "Foo"
            }
        }
    ]
}
<Phones>
    <Phone Type="Foo">123</Phone>
</Phones>
我想调用
JsonConvert.DeserializeXmlNode()
,但希望生成的XML如下所示:

{
    "Phones": [
        {
            "Phone": {
                "Value": 123,
                "@Type": "Foo"
            }
        }
    ]
}
<Phones>
    <Phone Type="Foo">123</Phone>
</Phones>

123

当前,
Value
正在反序列化为一个xml元素,作为
Phone
的子元素,但我希望它是
Phone
的xml值。有没有一种方法可以使用Json.Net来实现这一点,比如一个特殊的操作符,告诉它反序列化,而不必创建自定义序列化程序?需要任何帮助。

我刚想出来。使用

"Phone": {
      "@Type": "Foo",
      "#text": 123
 }
给了我预期的结果
#text
告诉它不要为该值创建子元素

可能与此有关-