【发布时间】:2019-12-15 20:47:21
【问题描述】:
我目前正在将从外部 API 接收到的 json 转换为 XML,并且 XML 由我的 API 返回:
var result = util.getAdis(firstName, lastName, dob, function(err,response,data){
if(!err) {
var data = JSON.parse(data);
var root = builder.create('ADIS')
data.forEach(person => {
var item = root.ele('person');
item.att('GivenName', person.GivenName);
item.att('MiddleInitial', person.MiddleInitial);
item.att('Surname', person.Surname);
item.att('Event', person.Event);
item.att('EventDate', person.EventDate);
})
var xml = root.end({ pretty: true });
res.type('application/xml');
res.send(xml);
} else {
console.log(err)
res.send(500)
}
});
我正在使用an XML builder,效果很好。但是有没有更好的方法来编写这段代码?所以它是动态的,我不想手动分配每个元素。
JSON 看起来像这样:
[{
GivenName: 'Mable',
MiddleInitial: 'G',
Surname: 'Stewart',
Event: 'A',
EventDate: '2014-07-16',
}]
【问题讨论】:
-
您可以使用
Object.entries()循环访问对象的属性。 -
你可以试试jsontoxml npmjs.com/package/jsontoxml
标签: javascript json xml