1

есть файл cakes.json и в его содержание:

 {
  "cake": [ 
    {"title":"Cake1","price": "cake price","description":"cake price"},
    {"title":"Cake2","price": "cake price","description":"cake price"},
  ]
};

Нужно записать его в переменную var cakes

Чтобы при вызове alert(cakes.cake[1].title);

выводилось название первого cake из файла cakes.json

Пробовал манипуляции $.getJSON('js/test.json', function(data)

но не получилось.

Komdosh
  • 12,128
IntensNow
  • 111
  • 2
    у вас ошибка в json после второго объекта после "cake price"} не должно быть запятой..... и в .$.getJSON('js/test.json' должно же быть cakes.json ?)). .......и допишите всю функцию getJSON вместе с вашим колбэком – Алексей Шиманский Aug 23 '16 at 19:14
  • Вставьте ваш json вот сюда http://json.parser.online.fr/ и вы увидите что он сломается...... или даже напишите в консоли JSON.parse(ВАША_СТРОКА_JSON); и вам тоже выдаст ошибку..............
    точки с запятой тоже не должно быть в конце
    – Алексей Шиманский Aug 23 '16 at 19:20
  • точку с запятой в конце убрал, но запятая перед ключем "description" не является ошибкой https://learn.javascript.ru/json – IntensNow Aug 23 '16 at 19:31
  • 1
    Я не говорил про перед ключом description..... я говорил после второго объекта после cake price..... то есть после строчки с объектом {"title":"Cake2","price": "cake price","description":"cake price"} не должно быть запятой. так как после неё больше нет ничего – Алексей Шиманский Aug 23 '16 at 19:35
  • проще говоря: запятая перед ] - это ошибка – Grundy Aug 23 '16 at 19:39
  • 1
    Судя по неудачному getJSON, есть подозрение что это опять проблема с асинхронностью :) – Pavel Mayorov Aug 24 '16 at 03:57
  • 1
    http://ru.stackoverflow.com/questions/554290/%d0%9a%d0%b0%d0%ba-%d0%b2%d0%b5%d1%80%d0%bd%d1%83%d1%82%d1%8c-%d0%b7%d0%bd%d0%b0%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b8%d0%b7-%d1%81%d0%be%d0%b1%d1%8b%d1%82%d0%b8%d1%8f-%d0%b8%d0%bb%d0%b8-%d0%b8%d0%b7-%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%b8-%d0%be%d0%b1%d1%80%d0%b0%d1%82%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d1%8b%d0%b7%d0%be%d0%b2%d0%b0 – Pavel Mayorov Aug 24 '16 at 03:57

1 Answers1

3

Если нужно первый элемент то можно сделать так

var json = {
  "cake": [ 
    {"title":"Cake1","price":"cake price","description":"cake price"},
    {"title":"Cake2","price":"cake price","description":"cake price"}
  ]
};
console.log(json.cake[0].title)

но по хорошему надо понимать что именно нужно чтобы сказать как это сделать