NewtonSoft from XML to JSON



这个问题不仅是从XML转换为JSON。问题是如何更改默认转换并产生我需要的JSON。

让我用一个示例解释

我收到了几种格式的XML。此XML的一个示例就是这样:

<root>
  <Data Name="Var1">Value1</Data>
  <Data Name="Var2">Value2</Data>
</root>

使用C#,我试图以这种方式转换为JSON:

xmldoc = "<root>" +
           "<Data Name="Var1">Value1</Data>" +
           "<Data Name="Var2">Value2</Data>" +
           "</root>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmldoc);
string jsonText = JsonConvert.SerializeXmlNode(doc);

结果是:

{
    "root": {
        "Data": [
            {
                "@Name": "Var1",
                "#text": "Value1"
            },
            {
                "@Name": "Var2",
                "#text": "Value2"
            }
        ]
    }
}

我的问题是如何将数据节点转换为" var1":" value1",而不是 @name/#text结果产生

您必须在XML避难所和JSON序列化之间添加一个中间阶段。当您将XML划分到类中时,创建一些新类,这些新类将输出您喜欢的JSON格式,然后实现一些逻辑以从XML类创建JSON类。

相关内容

  • 没有找到相关文章

最新更新