首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JSON数据重新格式化为Javascript对象

将JSON数据重新格式化为Javascript对象
EN

Stack Overflow用户
提问于 2014-07-12 19:14:33
回答 1查看 82关注 0票数 0

我有一组JSON数据,我试图重新格式化,以遵循'Timeline JS‘上描述的javascript对象模型。

这是存储在变量“messages”中的原始JSON数据:

代码语言:javascript
复制
  {
   "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对象语法:

代码语言: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"
       }]
    }

这是我目前的代码:

代码语言:javascript
复制
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数据的最后一个日期和主题行):

代码语言:javascript
复制
timeline: {
        headline: "User 1",
        type: "default",
        text: "tousled",     
        date: [{
          startDate: "2014,07,7",
          headline: "RE: Timeam feugiat invidunt"
         }]
    }

您将如何遍历JSON数据,以便返回所有给定的日期和主题行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-12 20:15:00

嗨,请看这里的http://plnkr.co/edit/twLsdzFZHmCwMvzwrux6?p=preview,它应该对你有帮助。

代码语言:javascript
复制
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);

  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24716429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档