Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2015, 16:58
Интересующийся
Отправить личное сообщение для corsik Посмотреть профиль Найти все сообщения от corsik
 
Регистрация: 16.07.2015
Сообщений: 13

перевод из JSON даты
есть JSON
[
{
"Title": "Титул",
"URL": "http://javascript.ru/",
"Date": "2015/07/07"
},
{
"Title": "Титул",
"URL": "http://javascript.ru/",
"Date": "2015/07/08"
},
{
"Title": "Титул",
"URL": "http://javascript.ru/",
"Date": "2015/07/08"
}
]


необходимо его перевести в формат

var events = [
        { Title: "", URL: "http://javascript.ru/", Date: new Date("07/07/2015") },
        { Title: "", URL: "http://javascript.ru/", Date: new Date("10/07/2015") },
        { Title: "", URL: "http://javascript.ru/", Date: new Date("12/07/2015") },
    ];


пробую

var event = $.getJSON('../include/events.json', function(data){
	  var items = [];
 
		var events = JSON.parse(data, function(key, value) {
		  if (value == 'Date'){
			return items.push(new Date(value));  
		  } 
		  return  items.push(value);
		});
		
	});


Что не так, как сделать правильно?
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2015, 17:47
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

var json = '[ \
      { \
        "Title": "Титул", \
        "URL": "http://javascript.ru/", \
        "Date": "2015/07/07" \
      },  \
      {  \
        "Title": "Титул", \
        "URL": "http://javascript.ru/", \
        "Date": "2015/07/08" \
        }, \
      { \
        "Title": "Титул", \
        "URL": "http://javascript.ru/", \
        "Date": "2015/07/08" \
        } \
    ]';


    json = JSON.parse(json, function(key, value) {
      return (key == 'Date' ? new Date(value) : value);
    });

    console.dir( json );
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2015, 17:55
Интересующийся
Отправить личное сообщение для corsik Посмотреть профиль Найти все сообщения от corsik
 
Регистрация: 16.07.2015
Сообщений: 13

Сообщение от Decode Посмотреть сообщение
json = JSON.parse(json, function(key, value) {
      return (key == 'Date' ? new Date(value) : value);
    });

    console.dir( json );
Только необходимо от из файла передать в переменную.
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2015, 18:15
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

corsik,

var data;

var xhr = new XMLHttpRequest();
xhr.open('GET', '../include/events.json', true);

xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
        try {
            data = JSON.parse(xhr.responseText, function(key, value) {
                return (key == 'Date' ? new Date(value) : value);
            });
        } catch(e) {
            console.log(e.name);
        }

    }
};
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2015, 21:09
Интересующийся
Отправить личное сообщение для corsik Посмотреть профиль Найти все сообщения от corsik
 
Регистрация: 16.07.2015
Сообщений: 13

не катит undefined , я уже пробовал из функции записать данные во внешнюю переменную
Ответить с цитированием
  #6 (permalink)  
Старый 16.07.2015, 23:52
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

corsik, xhr.responseText выведте в консоли, что там будет?

P.S. И не забудте добавить в конец xhr.send(). А то я зыбыл.

Последний раз редактировалось Decode, 17.07.2015 в 00:15.
Ответить с цитированием
  #7 (permalink)  
Старый 17.07.2015, 08:19
Интересующийся
Отправить личное сообщение для corsik Посмотреть профиль Найти все сообщения от corsik
 
Регистрация: 16.07.2015
Сообщений: 13

Сообщение от Decode Посмотреть сообщение
corsik, xhr.responseText выведте в консоли, что там будет?

P.S. И не забудте добавить в конец xhr.send(). А то я зыбыл.
выводит полностью массив с объектами внутри
Ответить с цитированием
  #8 (permalink)  
Старый 17.07.2015, 16:20
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

corsik, ну значит все работает. Undefined было по тому что я забыл дописать xhr.send().
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу распарсить JSON. gorenie jQuery 3 29.11.2013 22:26
Имеет ли смысл хранить даты в отдельной таблице? frutality Серверные языки и технологии 7 15.08.2013 19:39
тип даты json и массивы Faab jQuery 5 19.06.2013 16:31
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10