如何判断JSON对象是否为数组?

时间:2013-11-23 01:22:18

标签: c# .net xml json json.net

我已经使用JSON.NET的.ToJSON()将我的XML转换为JSON

这会将多个2个或更多的xml元素转换为数组,而单个元素则不会。

<trendstats>
        <paramFile version=\"1.0\" createdBy=\"PowerStats v1.0\" test=\"ohoh\">
        </paramFile>
</trendstats>

变为:

"trendstats": {
    "paramFile": {

虽然:

<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": [ {

我怎么能分开呢?

2 个答案:

答案 0 :(得分:1)

这个page向您展示了如何告诉JSON.NET强制xml元素始终生成数组。这样,您就不必猜测它是什么类型。

答案 1 :(得分:0)

所以在我看来你有几个选择:

  1. 找出paramFile中有多少元素。我不禁想知道它是否有.Length而不是.length(case)。这表明它确实如此。 http://msdn.microsoft.com/en-us/library/system.array.length(v=vs.110).aspx
  2. 按照rdodev的建议改变xml,强制它成为一个或另一个。
  3. 强制它成为c#中的一个 - 尽管当你这样做并弄清楚它给你带来了什么样的错误时,你将会有一个可以使用的测试。
  4. 我不是C#程序员,但问题引起了我的兴趣。