Я столкнулся со странной проблемой. Я использую RESTful API, который возвращает следующее тело ответа:
{
"bourseMarket":[2.9966187229626504E16,2.8923052836886444E16],
"bourseTrade":[1.13589172355139E14,4.903299930043E13],
"bourseMarketf":[6.037694517655877E15,5.876172638826381E15],
"bourseTradef":[4.3646660180697E13,2.2708648590401E13]
}
Когда я анализирую это, JS возвращает следующий объект:
bourseMarket: Array [ 29966187229626504, 28923052836886444 ]
bourseTrade: Array [ 113589172355139, 49032999300430 ]
"bourseMarketf": Array [ 6037694517655877, 5876172638826381 ]
"bourseTradef": Array [ 43646660180697, 22708648590401 ]
Как видите, JS добавляет двойные кавычки к третьему и четвертому объектным ключам. И после этого я не могу ссылаться на ключ и значение объекта:
TypeError: obj.bourseTradef is undefined
Я даже пытался obj["bourseTradef"]
, но тоже не удалось.
Я использую стандартные методы для извлечения данных:
const getData = async (url) => {
return await fetch(url).then(resp => {
if (resp.status === 200) {
return resp.json();
}
else
throw new Error("HTTP ERROR");
}
).catch(e => { showAlert("مشکل در شبکه") });
}
getData(tradeBaseUrl).then((obj) => {
console.log(obj);
....
ОБНОВЛЕНИЕ
Я допустил глупую ошибку. Я добавил невидимый символ в начале этих двух ключей по ошибке. Я выяснил проблему, проверив раздел «Сеть» тела запроса, как предложил Фил. Два небольших розовых кружочка были добавлены в начале строки ключей.