我如何在Jquery中编码json对象周日历主题解析json

How do I encode json object in Jquery Week Calendar Subject "parse JSON"

本文关键字:json 日历 对象 Jquery 编码 周日历      更新时间:2023-09-26

我使用周日历(https://github.com/themouette/jquery-week-calendar/wiki)在我的项目和语言是ruby on rails,但我有一个JSON对象在我的ruby代码返回JSON数据到weekcalendar.js文件的问题。如何做JSON编码JSON对象作为一个二维数组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');        
  }

,这是一个JSON对象,通过console.log(data):

[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);

请参阅:

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,
            }
         ]
      };*/

结果console.log (eventData);

现在还好。如何做JSON编码JSON对象作为一个二维数组JSON数组格式返回有效。谢谢你的每一个想法,对不起我的英语水平。

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

我相信你不需要使用jQuery。因为它已经是一个对象了。以下是文档中关于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;
}