JS, как отобразить через различные типы данных Json - PullRequest
0 голосов
/ 27 марта 2019

Я использую api fetch в javascript. Однако у меня возникают проблемы с отображением различных форматов объектов JSON. Вот два фрагмента моего кода, первый работает, второй нет из-за формата JSON.

Это прекрасно работает -

    fetch('https://randomuser.me/api/?results=3')  

    .then(results => { return results.json(); })   

    .then(function(data) {                         

    {data.results.map((key) => console.log(key.gender))}

    });

Это не работает - потому что идентификатор формата JSON отличается

    fetch('https://jsonplaceholder.typicode.com/users/1')  

       .then(results => { return results.json(); })   

       .then(function(data) {                          

       {data.results.map((key) => console.log(key.gender))}

    });

Это ошибка, которую я получаю

Uncaught (в обещании) TypeError: Невозможно прочитать свойство 'map' из неопределенного в

Может кто-нибудь объяснить, как я могу отображать через различные типы формата JSON СПАСИБО ЗА ПРЕДЕЛА

1 Ответ

1 голос
/ 27 марта 2019

В этом наборе данных нет свойства results, и это только один "результат": https://jsonplaceholder.typicode.com/users/1

Нет смысла отображать отдельный элемент, если вы используете этот набор данных: https://jsonplaceholder.typicode.com/users/

Вы можете отобразить его, но, тем не менее, в наборе данных нет ни свойства result, ни свойства gender для элементов ... поэтому вам необходимо сопоставить объект data и существующее свойство. .. т.е. website:

    fetch('https://jsonplaceholder.typicode.com/users/')  

       .then(results => { return results.json(); })   

       .then(function(data) {                          

       {data.map((key) => console.log(key.website))}

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...