Как я могу преобразовать мои данные json в массив строк и отобразить текст?

#javascript #json #fetch

#javascript #json #выборка

Вопрос:

Итак, я использую fetch api для получения некоторых данных. Мне успешно удалось получить данные, и я могу отобразить ответ в журнале консоли. Однако я хочу фактически использовать эти данные. API выдает мне «результат», «идентификатор» и «итог». Мне нужна помощь, как я могу преобразовать это в массив строк и фактически использовать информацию, сгенерированную из api.

Я пытался возиться с JSON.Parse, но мне действительно не удалось преобразовать данные json в массив строк.

функция addPost(e){ e.preventDefault();

   let itemname = document.getElementById('itemname').value;
  let body = document.getElementById('body').value;

  fetch('https://cors-anywhere.herokuapp.com/https://www.pathofexile.com/api/trade/search/Standard', {
    method:'POST',

    headers: {
      'Accept': 'application/json, text/plain, */*',
      'Content-type':'application/json'
    },
    body:JSON.stringify({"query": {"status": {"option": "online"}, "name":itemname, "stats": [{"type": "and", "filters": []}]},"sort": {"price": "asc"}})
  })
  .then((res) => res.json())
  .then((data) => console.log(JSON.stringify(data)));
}
  

Комментарии:

1. Мне действительно не удалось преобразовать данные json …. что насчет JSON.parse() не работает? И как data выглядит ответ? Сделайте это .then((data) => console.log(data));

Ответ №1:

Я думаю, это то, что вы ищете->

   var item;

  fetch('https://cors-anywhere.herokuapp.com/https://www.pathofexile.com/api/trade/search/Standard', {
    method:'POST',

    headers: {
      'Accept': 'application/json, text/plain, */*',
      'Content-type':'application/json'
    },
    body:JSON.stringify({"query": {"status": {"option": "online"}, "name":itemname, "stats": [{"type": "and", "filters": []}]},"sort": {"price": "asc"}})
  })
  .then((res) => res.json())
  .then((data) => item = JSON.stringify(data));

JSON.parse(item).result
  

Комментарии:

1. Спасибо! Я попробовал это, но я получаю ошибку: VM34: 1 Uncaught SyntaxError: Неожиданный токен u в JSON в позиции 0 в JSON.parse (<анонимный>) в HTMLFormElement.addPost (index.html: 93) addPost @ index.html: 93 Похоже, что синтаксический анализ на самом деле не получает никаких данных?