【问题标题】:How do I encode json object in Jquery Week Calendar Subject "parse JSON"如何在 Jquery 周历主题“解析 JSON”中编码 json 对象
【发布时间】:2013-03-15 11:12:44
【问题描述】:

我在我的项目中使用周历(https://github.com/themouette/jquery-week-calendar/wiki),语言是 ruby​​ on rails,但我的 ruby​​ 代码中的 JSON 对象存在问题,该对象将 JSON 数据返回到 weekcalendar.js 文件。 如何将 JSON 对象的 JSON 编码为 2d 数组到 JSON 数组格式?

查看此代码:

data : function(start_at,end_at,callback) { 
    $.post('/events', { 

     },
        function(result){ \\this function is a receive JSON object from ruby
        console.log(data); 
        getEventData(result)
     },'json');        
  }

这是由 console.log(data) 生成的 JSON 对象:

[Object { created_at="2013-03-12T11:08:34Z",  end_at="2013-03-12T00:00:00Z",  event_description="wqe",more...}, Object { created_at="2013-03-12T11:08:41Z",  end_at="2013-03-12T00:00:00Z",  event_description="wqe",  more...}, Object { created_at="2013-03-12T11:10:26Z",  end_at="2013-03-13T00:00:00Z",  event_description="ewr",  more...}, Object { created_at="2013-03-12T11:15:39Z",  id=4,  updated_at="2013-03-12T11:15:39Z"}, Object { created_at="2013-03-12T11:16:45Z",  id=5,  updated_at="2013-03-12T11:16:45Z"}, Object { created_at="2013-03-12T11:17:21Z",  id=6,  updated_at="2013-03-12T11:17:21Z"}, Object { created_at="2013-03-13T05:13:39Z",  id=7,  updated_at="2013-03-13T05:13:39Z"}, Object { created_at="2013-03-14T08:11:50Z",  id=8, ...}] 

好的,我有 JSON 对象,现在函数 getEventData(data),我做 jQuery.parseJSON(data);用于编码 JSON 对象但没有结果。

请看这个:

function getEventData(data) {
      var eventData = jQuery.parseJSON(data);
      console.log(eventData);
      /*return {
         events:[
            {
               "id":eventData.id,
               "start": eventData.start,
               "end": eventData.end,
               "title": eventData.name,

            }
         ]
      };*/

结果控制台.log(eventData);是 NULL。

现在好了。如何将 JSON 对象的 JSON 编码为 2d 数组到 JSON 数组格式以返回有效。感谢您的每一个想法,并为我的英语能力感到抱歉。

【问题讨论】:

  • 如果您认为我的回答对您有所帮助,如果您能接受,我将不胜感激。如果不让我知道我是否可以为您提供更多帮助。
  • 对不起,我没有时间看这个。好吧,我会试试你的代码是正确的但有时我有一个想法,在将 json 发送到 Javascript 之前,在控制器或模型中编码 json .非常感谢您的帮助,我不得不尝试一下。
  • 谢谢! :D 很高兴我能帮上忙。

标签: javascript jquery ruby-on-rails json


【解决方案1】:

您的第一个函数也有错误。您调用 console.log(data) ,然后使用可变结果调用您的函数。

我相信您不需要在其上使用 jQuery.parseJSON,因为它已经是一个对象。 这就是文档对 parseJSON 的描述:

Description: Takes a well-formed JSON string and returns the resulting JavaScript object.

你的数据已经是一个解析好的json(Object),所以不用解析就可以直接使用json格式。

所以你的代码是:

data : function(start_at,end_at,callback) { 
  $.post('/events', { 

  },
    function(data){ \\this function is a receive JSON object from ruby
    console.log(data); 
    getEventData(data)
  },'json');        
}

function getEventData(data) {
  var events = new Array();
  $.each( data, function( key, value ) {
    events.push({
           "id":value.id,
           "start": value.start,
           "end": value.end,
           "title": value.name,

        });
  });
  return events;
}

【讨论】:

  • 好的,我试试这个,但是函数 getEventData(data) 结果中的 consol.log(data.id) 未定义但是函数 getEventData 结果中的 consol.log(data) 是一个 json 对象,这是为什么?
  • 嗯,你是对的,看起来你有一个对象数组,这意味着你需要一个。我将编辑代码以解释我的意思。
  • 它现在应该可以与我所做的一起工作,它会通过每个对象并获取信息并构建另一个对象。
猜你喜欢
  • 2017-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-19
  • 2020-09-22
  • 1970-01-01
  • 2019-02-11
相关资源
最近更新 更多