2014-09-16 3 views
1

Это немного сложно объяснить. Я получил от этого сервера:от объекта json до моих свойств объекта

{"enable": "15,16,17,18,19,20,21,22,23", 
"disable": "{ from: new Date(2014,9,16,23,0), to: new Date(2014,9,16,23,0) }"} 

и это, как я пытаюсь установить разрешенные и выключает часы на мой pickatime объект из этого объекта JSON. (http://amsul.ca/pickadate.js/api.htm#method-set-disable-enable)

 $.get('/ajax/res/', function(data) { 
      var picker = $("#rz-time-1").pickatime('picker'); 

      picker.set('enable', [ 
       data.enable 
      ]); 
      picker.set('disable', [ 
       data.disable 
      ]); 
     }, 'json'); 

это не работает, однако, если я ставлю $ .parseJSON (data.enable) он работает только если не запятые в моей строки ... в противном случае я получаю неожиданный непробельных знак из-за запятых ...

+0

Ну, '{from: new Date (2014,9,16,23,0), to: new Date (2014,9,16,23,0)}' явно недействителен JSON. Вы можете проверить, что с помощью http://jsonlint.org/. Поэтому '$ .parseJSON (data.enable)' не может работать. Вы должны исправить код, который генерирует ответ. –

+0

ссылка, которую вы предоставляете, пожалуйста, чтобы они четко указали формат даты в определенном формате picker.set ('enable', [ [2014,9,9], [2014,9,13], новый Дата (2013,9,20) ]) –

+0

@FelixKling на самом деле это действительно, но нужно его оценить. – charlietfl

ответ

0

new Date(2014,9,16,23,0) в вашем JSON недействителен. Кроме того, почему значение disable является строкой? Похоже, этого не должно быть.

Вместо использования new Date(...), вы могли бы использовать массив:

{ 
    "enable": "15,16,17,18,19,20,21,22,23", 
    "disable": { 
    "from": [2014,9,16,23,0], 
    "to": [2014,9,16,23,0] 
    } 
} 

Теперь вы можете получить доступ к определенным частям, что было незаконным new Date.

Смежные вопросы