Ошибка получения данных из вызова api в качестве атрибута отличается

#json #api #vue.js #axios

Вопрос:

Привет, я использую api, который возвращает следующее

 {"secret-finance":{"usd":0.04883396}}
 

Проблема в том, что я использую vue и получаю такие данные

 async getCurrentSefiPrice() {
  await axios
    .get(
      "https://api.coingecko.com/api/v3/simple/price?ids=secret-financeamp;vs_currencies=usd"
    )
    .then(
      (response) =>
        (this.sefi_token_current_price = response.secret-finance.usd)
      // console.log(response)
    );
  console.log(this.sefi_token_current_price);
}
 

Но когда я использую secret-finance для получения значения в долларах США, я получаю ошибку.
Заранее спасибо.

Ответ №1:

@haseebsaeed Вам нужно будет указать его как

 response["secret-finance"].usd
 

Вам нужно использовать обозначение ключа, а не понятие точки, когда в ключе есть дефис. Любой ключ, содержащий символы, которые не разрешены в переменных JavaScript, вам нужно будет ссылаться на них, как указано выше.

Еще один пример: если у secret-finance объекта есть ключ свойства us-dollars , а не текущий usd , вы получите к нему доступ, выполнив,

 response["secret-finance"]["us-dollars"]