我正在调用第三方restAPI,并返回糟糕的JSON修复JSON的最佳方法是什么:
{
"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 更简单的方法来解决这个问题
(请注意,我使用的是Newtonsoft JSON.Net库,要求它必须以XML形式从我的web服务返回)。
我不知道你为什么说这个json无效。它对我来说很好。我可以使用XPath3.1json-to-XML()函数将其转换为XML,结果如下:
<?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>
您可以很容易地使用XSLT将其转换为您想要的任何其他