#javascript #json #typescript #fetch
#javascript #json #typescript #выборка
Вопрос:
const response = await fetch('https://api.codetabs.com/v1/proxy/?quest=http://hamsterland.herokuapp.com/api/users?id=330746772378877954');
const json = await response.json();
const user: User = JSON.parse(json);
interface User {
id: string;
username: string;
avatar: string;
}
В последней строке JSON.parse(json)
я получаю сообщение об ошибке, в котором говорится:
Unhandled Rejection (SyntaxError): Unexpected token o in JSON at position 1
Я не уверен, что является причиной этого. Модель интерфейса соответствует структуре JSON.
Комментарии:
1. Он уже проанализирован. Это то, что
.json()
делает.2. paste.mod.gg/akepubiwix.json @Ноник
3. Ошибка, которую вы видите, связана с тем, что вы пытаетесь проанализировать уже проанализированную строку json. Поэтому, когда вы запускаете
JSON.parse(object)
его, он должен попытаться выяснить, что делать, чтобы создать объект, который превращается вJSON.parse('[object Object]')
Ответ №1:
Похоже JSON.parse(json)
, в этом не было необходимости. Все, что мне нужно было сделать, это
const response = await fetch('https://api.codetabs.com/v1/proxy/?quest=http://hamsterland.herokuapp.com/api/users?id=330746772378877954');
const user: User = await response.json();
Спасибо @Taplar за решение.