извлечение json данных по ключу - PullRequest
0 голосов
/ 09 марта 2020
  const username = 'merMan';

  fetch("./datz.json")
    .then(response => response.text())
    .then((response) => {
        console.log(response);

    })

мои данные response выглядит как показано ниже, но все еще трудно получить данные, заданные пользователем c. Мои response данные выводятся как ниже. Я пытался использовать find, но всегда возвращает find - это не функция, response[username] тоже не работает.

[{"mermAn":{"baseMapId":"459cc334740944d38580455a0a777a24","customBaseMap":"","zoomn":"5","orient":"0","centLon":"-93.69999999999843","centLat":"38.64999999999935"},
{"catWoman":{"baseMapId":"459cc334740944d38580455a0a777a24","customBaseMap":"","zoomn":"5","orient":"0","centLon":"-93.69999999999843","centLat":"38.64999999999935"},
{"Riddler":{"baseMapId":"459cc334740944d38580455a0a777a24","customBaseMap":"","zoomn":"5","orient":"0","centLon":"-93.69999999999843","centLat":"38.64999999999935"}}]

Ответы [ 2 ]

2 голосов
/ 09 марта 2020

Используйте .json() вместо .text()

const username = 'merMan';

fetch("./datz.json")
  .then(response => response.json())
  .then((users) => {
      console.log(users.find(x => typeof x[username] !== "undefined"));
  })
2 голосов
/ 09 марта 2020

Вам необходимо проанализировать ответ после response.text(), например:

fetch("./datz.json")
    .then(response => response.text())
    .then((response) => {
        try {
          const parsedArray = JSON.parse(response);

          console.log(parsedArray);
        } catch (error) {
          // response could not be parsed
        }
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...