перевод из 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); }); }); Что не так, как сделать правильно? |
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 ); |
Цитата:
|
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); } } }; |
не катит undefined , я уже пробовал из функции записать данные во внешнюю переменную
|
corsik, xhr.responseText выведте в консоли, что там будет?
P.S. И не забудте добавить в конец xhr.send(). А то я зыбыл. |
Цитата:
|
corsik, ну значит все работает. Undefined было по тому что я забыл дописать xhr.send().
|
Часовой пояс GMT +3, время: 18:27. |