我在 Express 服务器中使用 XML,并使用 express-xml-bodyparser
对其进行解析,但生成的对象基本上无法使用。
XML
<SubClass code="A07.0"/>
<SubClass code="A07.1"/>
<SubClass code="A07.2"/>
<SubClass code="A07.3"/>
<SubClass code="A07.8"/>
<SubClass code="A07.9"/>
被序列化为 JSON
subclass:
[ { '$': { code: 'A07.0' } },
{ '$': { code: 'A07.1' } },
{ '$': { code: 'A07.2' } },
{ '$': { code: 'A07.3' } },
{ '$': { code: 'A07.8' } },
{ '$': { code: 'A07.9' } } ]
有没有办法直接将其粘贴到
subclass: ['A07.0','A07.1','A07.2','A07.3','A07.8','A07.9']
或者一些简单的方法如何将它转换成这个数组?
最佳答案
您可以设置mergeAttrs选项为 true
以删除 $
属性:
xmlparser({ mergeAttrs: true, explicitArray: false})
输出:
SubClass: [
{ code: "A07.0" },
{ code: "A07.1" },
{ code: "A07.2" },
{ code: "A07.3" },
{ code: "A07.8" },
{ code: "A07.9" }
]
或者您可以只使用array.map()方法:
var data = { subclass:
[ { '$': { code: 'A07.0' } },
{ '$': { code: 'A07.1' } },
{ '$': { code: 'A07.2' } },
{ '$': { code: 'A07.3' } },
{ '$': { code: 'A07.8' } },
{ '$': { code: 'A07.9' } } ] };
var result = data.subclass.map( (obj) => {
return obj.$.code;
});
console.log(result);
关于javascript - 在 JavaScript 中序列化 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48321540/