我有一组JSON数据,我试图重新格式化,以遵循'Timeline JS‘上描述的javascript对象模型。
这是存储在变量“messages”中的原始JSON数据:
{
"user_id": 1,
"subject_line": "Timeam feugiat invidunt",
"type": "feugiat",
"date": "2014,07,5",
"message": "Butcher letterpress et tousled ea. Id do artisan"
},
{
"user_id": 1,
"subject_line": "RE: Timeam feugiat invidunt",
"type": "feugiat",
"date": "2014,07,7",
"message": "Butcher letterpress et tousled ea."
}需要将JSON数据重新格式化为以下Javascript对象语法:
timeline: {
headline: "User 1", // messages.user_id
type: "default",
text: "tousled",
date: [{
startDate: "2014,07,5", //messages.date
headline: "Timeam feugiat invidunt" //messages.subject_line
},
{
startDate: "2014,07,7",
headline: "RE: Timeam feugiat invidunt"
}]
}这是我目前的代码:
function(){
var messagesData;
// API data fetched and stored in 'messages'
messages.each(function(data){
data = data.toJSON();
messagesData = {
timeline: {
headline: "User " + data.user_id,
type: "default",
text: "tousled",
date: [{
startDate: data.date,
headline: data.subject_line
}]
}
}
});
}但是,我要返回的数据只返回一组' date‘数组(这是JSON数据的最后一个日期和主题行):
timeline: {
headline: "User 1",
type: "default",
text: "tousled",
date: [{
startDate: "2014,07,7",
headline: "RE: Timeam feugiat invidunt"
}]
}您将如何遍历JSON数据,以便返回所有给定的日期和主题行?
发布于 2014-07-12 20:15:00
嗨,请看这里的http://plnkr.co/edit/twLsdzFZHmCwMvzwrux6?p=preview,它应该对你有帮助。
var messages = [{
"user_id": 1,
"subject_line": "Timeam feugiat invidunt",
"type": "feugiat",
"date": "2014,07,5",
"message": "Butcher letterpress et tousled ea. Id do artisan"
},
{
"user_id": 1,
"subject_line": "RE: Timeam feugiat invidunt",
"type": "feugiat",
"date": "2014,07,7",
"message": "Butcher letterpress et tousled ea."
}];
var storyjs_data = {
"timeline": {
"headline": "User" + messages[0].user_id,
"type": "default",
"text": "tousled",
"date": []
}
};
$(messages).each(function(indx, message) {
var _date = {
"startDate": message.date,
"headline": message.subject_line,
};
storyjs_data.timeline.date.push(_date);
});https://stackoverflow.com/questions/24716429
复制相似问题