Нахождение JSON соответствия ключа с jQuery и PokéAPI - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь найти и использовать английский sh перевод языка JSON конечную точку, используя PokéAPI в приложении, которое я разрабатываю. Мне нужно использовать переводы при отправке звонка на один из URL, показанных ниже. К сожалению, языковой ключ engli sh не всегда находится в одном и том же порядке в ответе массива, поэтому мне нужен способ найти и проверить его, чтобы на входном интерфейсе отображался правильный перевод engli sh.

Я пытаюсь получить: flavor_text_entries[X].language.en ключ в каждом поиске и получить flavor_text_entries[X].flavor_text, чтобы отобразить описание в интерфейсе.

API URL 1:

https://pokeapi.co/api/v2/pokemon-species/3/

API URL 2:

https://pokeapi.co/api/v2/pokemon-species/10/

Код:

var pokeBio = $("[data-poke-bio]").html();

function submit(){

 var pokeID = $("[data-poke-id]").val();
 var pokeSpecURL = "https://pokeapi.co/api/v2/pokemon-species/" + pokeID;

 $.ajax({
    type: "GET",
    url: pokeSpecURL,
    success: function(dataSpec){ 
      ajaxSpecSuccess(dataSpec);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      ajaxError();
    }
  });
}

function ajaxSpecSuccess(dataSpec){
  var pokeMatchBio = dataSpec.flavor_text_entries[1].flavor_text;
  var pokeBio = $("[data-poke-bio]").html(pokeMatchBio);
}

Фрагмент, которым нужно манипулировать:

var pokeMatchBio = dataSpec.flavor_text_entries[1].flavor_text;

1 Ответ

1 голос
/ 28 февраля 2020

Шаг 1, найдите engli sh запись

Шаг 2, отобразите его flav_text или сообщение, если он не был найден

let englishEntry = dataSpec.flavor_text_entries.find(entry => entry.language && entry.language.name && entry.language.name === 'en');

if (englishEntry) {
  console.log(englishEntry.flavor_text);
} else {
  console.log("English entry not found");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...