我已经使用JSON.NET 中的.ToJSON()将XML转换为JSON
这将具有2个或更多xml元素的东西变成数组,而单个元素则不然。
<trendstats>
<paramFile version="1.0" createdBy="PowerStats v1.0" test="ohoh">
</paramFile>
</trendstats>
变为:
"trendstats": {
"paramFile": {
While:
<trendstats>
<paramFile version="1.0" createdBy="PowerStats v1.0" test="ohoh">
</paramFile>
<paramFile version="1.0" createdBy="PowerStats v1.0" test="ohoh">
</paramFile>
</trendstats>
变为:
"trendstats": {
"paramFile": [ {
我怎样才能把它们区分开来?
此页面显示如何告诉JSON.NET强制xml元素始终生成数组。这样,您就不必猜测它是什么类型了。
所以在我看来,你有几个选择:
- 找出paramFile中有多少元素。我忍不住想知道它是不是有.长度而不是.长度(箱子)。这表明它确实存在。http://msdn.microsoft.com/en-us/library/system.array.length(v=vs.110).aspx
- 按照rdodev的建议,通过更改xml来强制它变成一个或另一个
- 强制它成为c#中的一个或另一个——尽管当你这样做并弄清楚它会给你带来什么样的错误时,你将有一个可以处理的测试
我不是C#程序员,但这个问题引起了我的兴趣。