Не могу получить данные json

215
10 марта 2018, 21:07

Создал на локальном сервере файл json-data.json

[
    "menu": [
      "page-link": {
        "title": "Новости",
        "url": "/index.html"
      },
      "page-link": {
        "title": "Загрузки",
        "url": "/loads.html"
      }
    ]
]

есть в html документе список с id = "menu"

<ul id = "menu"></ul>

Нужно при загрузке файла из json добавлять в спикок элементы списка li, вот так я пытаюсь это сделать

window.onload = function() {
    $.get("json-data.json", function (response) {
        for (let i in response.menu) {
            $("#menu").append("<li>" + page-link[i].title + "</li>");
        }
    });
}

Но в ответ ничего, консоль пуста. Нарочно делал ошибки в имени фала json, консоль пишет, что ошибка, а вот когда имя правильно, то консоль пуста.

Не могу понять где ошибка и что неправильно, кто подскажет как исправить и таки получить информацию из json файла? Спасибо

Answer 1

Содержимое Вашего файла не является данными, прaвильно записанными в формате JSON. Поэтому в $.get происходит ошибка. Внутри массива должны находиться или native типы, или объекты, завернутые в фигурные скобки.

Ошибка:

var data = [ 
    "menu": [ 
      "page-link": { 
        "title": "Новости", 
        "url": "/index.html" 
      }, 
      "page-link": { 
        "title": "Загрузки", 
        "url": "/loads.html" 
      } 
    ] 
]; 
console.log(data);

Нет ошибки:

var data = [{ 
  "menu": [{ 
    "page-link": { 
      "title": "Новости", 
      "url": "/index.html" 
    }, 
    "page-link": { 
      "title": "Загрузки", 
      "url": "/loads.html" 
    } 
  }] 
}]; 
console.log(data);

READ ALSO
Как добавить очередность через Классы

Как добавить очередность через Классы

Добрый день! Начал изучать ES6, классы и наследование, хочу сделать легкую игру, подскажите пожалуйста как правильно реализовать смену хода...

174
JavaScript тесты

JavaScript тесты

У меня есть код теста, и я хочу, чтобы если в тесте набралось не более 10%, то мне выводилось "плохо", а если другие результаты, то уже другие ответы

211
Спарсить значение html в массив / объект

Спарсить значение html в массив / объект

На странице есть элемент <span class="companies-rating__spec-name">, я в цикле хочу получить текст внутри этих элементовНаписал следующий код:

185