我使用斯卡拉/升降机的REST API。 引擎盖下我生成XML这将经由Xml.toJson()作为输出被转换为JSON。
现在,我注意到一些奇怪的行为驱动我坚果。
例如我有下面的XML:
<data>
<item>
<foo>1</foo>
<bar>1</bar>
</item>
<item>
<foo>2</foo>
<bar>2</bar>
</item>
</data>
xml.toJson()的结果如下:
JObject(
List(
JField(
data,JObject(
List(
JField(item,
JArray(
List(
JObject(
List(
JField(foo,JString(1)),
JField(bar,JString(1)))
),
JObject(
List(
JField(foo,JString(2)),
JField(bar,JString(2))
)
)
)
)
)
)
)
)
)
)
但如果我添加一个新的XML元素:
<data>
<baz>234</baz>
<item>
<foo>1</foo>
<bar>1</bar>
</item>
<item>
<foo>2</foo>
<bar>2</bar>
</item>
</data>
结果对于JArray是不同的:
JObject(
List(
JField(data,JObject(
List(
JField(baz,JString(234)),
JField(item,JObject(
List(
JField(foo,JString(1)),
JField(bar,JString(1))
))
),
JField(item,JObject(
List(
JField(foo,JString(2)),
JField(bar,JString(2))
))
)
)
))
)
)
阵列没有定义和我有名称为“项目”的两个对象。 这是一种正常的行为? 我想有数组不成才包裹的aroung“项”标签。