转换为XML的JSON无效
我正在打电话给第三方restAPI并获取错误的JSON修复JSON的最佳方法是什么:转换为XML的JSON无效,json,xml,json.net,Json,Xml,Json.net,我正在打电话给第三方restAPI并获取错误的JSON修复JSON的最佳方法是什么: { "site": { "name":{"2":"stringstuff"}, "primaryname":{"ref":2,"dname":"stringstuff"} } } 正如您所看到的,这个名称实际上应该看起来像主名称。转换为XML时,如下所示: <sites> <name> <2>st
{
"site": {
"name":{"2":"stringstuff"},
"primaryname":{"ref":2,"dname":"stringstuff"}
}
}
正如您所看到的,这个名称实际上应该看起来像主名称。转换为XML时,如下所示:
<sites>
<name>
<2>stringstuff</2>
</name>
<primaryname>
<ref>2</ref>
<dname>stringstuff</dname>
</primaryname>
</sites>
<?xml version="1.0" encoding="UTF-8"?>
<map xmlns="http://www.w3.org/2005/xpath-functions">
<map key="site">
<map key="name">
<string key="2">stringstuff</string>
</map>
<map key="primaryname">
<number key="ref">2</number>
<string key="dname">stringstuff</string>
</map>
</map>
</map>
弦乐
2.
弦乐
有没有比转换为对象、以这种方式固定数据然后将对象转换为XML更简单的方法来解决这个问题
(注意,我使用的是Newtonsoft JSON.Net库,要求它必须以XML形式从我的web服务返回)。我不确定您为什么说这个JSON无效。我觉得很好。我可以使用XPath 3.1 json-to-XML()函数将其转换为XML,结果如下:
<sites>
<name>
<2>stringstuff</2>
</name>
<primaryname>
<ref>2</ref>
<dname>stringstuff</dname>
</primaryname>
</sites>
<?xml version="1.0" encoding="UTF-8"?>
<map xmlns="http://www.w3.org/2005/xpath-functions">
<map key="site">
<map key="name">
<string key="2">stringstuff</string>
</map>
<map key="primaryname">
<number key="ref">2</number>
<string key="dname">stringstuff</string>
</map>
</map>
</map>
弦乐
2.
弦乐
您可以使用XSLT轻松地将其转换为您想要的任何其他内容您所说的解决此问题的方法是否比转换为对象更简单。。。?你现在在做什么,为什么不起作用?第三方不可能修复他们的API吗?这意味着有一个过程需要更少的步骤,而不是创建一个自定义对象来保存JSON,然后修复,然后转换为XML。目前,我们正在循环一定数量的时间,任何xml标记都是数字的,我们正在调整字符串,然后重新加载xml(当数字标记大于循环时,最终会中断,因为标记基于不断增加的id号)。第三方修复速度非常慢,我们无法等待。