Отображать вложенные объекты JSON в формате HTML - PullRequest
1 голос
/ 10 июня 2019

Я хочу отображать входящие сообщения на веб-странице.У меня есть URL-адрес, указывающий на JSON-файл, данные выглядят так ...

[
    {
      "created_at": "2019-06-08T10:30:52Z",
      "data": {
        "name": "Me",
        "email": "me@example.com",
        "is-org-bedrijf": "on",
        "org-bedrijf": "",
        "onderwerp": "meer info",
        "bericht": "bericht",
        "job-logo-deadline": "",
        "digitaal-deadline": "",
        "drukwerk-deadline": "",
        "flex-floc-kleuren": "transparant",
        "job-flex-floc-deadline": "",
        "andere-beschrijving": "",
        "andere-deadline": "",
        "g-recaptcha-response": ""
      },
      "folder": null,
      "id": 3250210,
      "referrer": "https://lennertderyck.be/contact/form",
      "request_ip": "78.23.211.248",
      "spam": null
    }
]

Как я могу получить доступ к информации в цикле javascript?Отображение данных не проблема, это доступ к данным во вложенном объекте.

Это то, что я пробовал

 fetch('file.json')
            .then(function (response) {
                return response.json();
            })
            .then(function (source) {
                appendData(source);
            })
            .catch(function (err) {
                console.log('error: ' + err);
            });
        function appendData(source) {
            var mainContainer = document.getElementById("myData");
            for (var i = 0, il = source.length; i < il; i++) {
                    var div = document.createElement("div");
                    div.innerHTML = 'Id: ' + source[i].id;
                    mainContainer.appendChild(div);
                for (var j = 0; jl = source[i].data.length; j++) {
                    console.log(source[i].data[j].name)
                }
            }
        }

1 Ответ

1 голос
/ 10 июня 2019

Потому что это не то, как вы перебираете объект. Сделайте это с помощью for...in цикла, например:

for (var item in source[i].data) {
    console.log(source[i].data[item].name);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...