所以这是以前问题的延续。我刚刚开始使用react,我已经设法获取一个xml文件,将其转换为json,然后遍历数据。但我认为应该有更好的方法来完成我已经完成的工作,因为我使用了我在另一个SO答案中找到的函数,然后在其中使用了map()。
无论如何,这是我的代码细分。
获取xml并转换为json:
Umbraco.Web.WebApi.UmbracoApiController
控制台中json的结果:
componentDidMount() {
axios.get('https://gist.githubusercontent.com/eMatsiyana/e315b60a2930bb79e869b37a6ddf8ef1/raw/10c057b39a4dccbe39d3151be78c686dcd1101aa/guestlist.xml')
.then(res => {
const xml = XMLMapping.load(res.data);
var guests = XMLMapping.tojson(xml);
this.setState({guests: guests});
});
}
我使用此功能映射对象,然后在其中使用map():
Object{
dataset{
record{
0{
company{
$t: "Skippad"
}
first_name{
$t: "Keith"
}
last_name{
$t: "Cook"
}
}
1{
company{
$t: "Skippad"
}
first_name{
$t: "Keith"
}
last_name{
$t: "Cook"
}
}
}
}
}
这就是数据的最终映射:
function mapObject(object, callback) {
return Object.keys(object).map(function (key) {
return callback(key, object[key]);
});
}
有没有更好的方法可以在不使用mapObject()和map()的情况下执行此操作?
非常感谢任何形式的反馈或建议!