我有一些 XML,我希望它输出到一个数组中。但是当只有一项存在时,xml2js 会将一项输出到一个对象。当有多个项目时,它输出为一个数组。为了一致性,我如何强制它成为一个数组?
我的 XML 看起来像这样:
const xml = `<Shift>
<Transaction>
<Currency>GBP</Currency>
<Amount>24.50</Amount>
</Transaction>
</Shift>`
parseStringPromise(xml).then(json => console.log(JSON.stringify(json)))
您可以看到输出为:
{
"Transaction": {
"Currency": "GBP",
"Amount": "24.50"
}
}
但通常有多个事务。因此,通常 XML 将如下所示:
const xml = `<Shift>
<Transaction>
<Currency>GBP</Currency>
<Amount>24.50</Amount>
</Transaction>
<Transaction>
<Currency>GBP</Currency>
<Amount>25.50</Amount>
</Transaction>
<Transaction>
<Currency>GBP</Currency>
<Amount>26.50</Amount>
</Transaction>
<Transaction>
<Currency>GBP</Currency>
<Amount>27.50</Amount>
</Transaction>
</Shift>`
parseStringPromise(xml).then(json => console.log(JSON.stringify(json)))
它像这样输出到一个数组中
{
"Transaction": [
{
"Currency": "GBP",
"Amount": "24.50"
},
{
"Currency": "GBP",
"Amount": "25.50"
},
{
"Currency": "GBP",
"Amount": "26.50"
},
{
"Currency": "GBP",
"Amount": "27.50"
}
]
}
我怎样才能确保即使Transactionxml 中只有 1 个项目,它也会输出到一个数组?
是否有需要传递给解析器的选项,或者是否需要重新格式化我的 XML?
茅侃侃
猛跑小猪
相关分类