我正在使用 scala / lift 作为 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))
))
)
)
))
)
)
数组未定义,我有两个名为“item”的对象。这是正常行为吗?我希望数组不围绕“项目”标签进行包装。