Спасибо за публикацию содержимого переменной response
! Если это объект, который вы возвращаете, вы сможете получить доступ к полю token
, используя следующий код:
const response = {
"session": {
"user": {
"approval_status": "approved",
"empty_pass": false,
"id": "user_id",
"profile_keys": [
"profile_4"
],
"profile_objects": [
{
"entry_id": "entry_id",
"object": "object_4"
}
],
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiNTUzMWExNmI2YTEzMTk1ZTcyNmUxZTBmIiwiYXBwbGljYXYpb25faWQiOiI1NTIzMTM5ZjNiY2U2NDdhMDJiZDUxNTAiLCJpYXQiOjE0Mjk3MTgzNzl9.K-WULiJxT-st8vxnTkqxCtp2nv5ykrSToPQsTRx6r1I",
"utility_key": "key",
"values": {}
}
}
}
console.log(response.session.user.token);
eyJ0eXAiOiJK...
Вы можете использовать .
для ссылки на ключ, используемый JavaScript объект. Поэтому, если ваша переменная response
, вы можете получить объект session
внутри нее, используя response.session
, и вы можете получить объект user
внутри session
с помощью response.session.user
.
Однако, во-первых, вы, вероятно, захотите изменить содержимое блока then
следующим образом:
response.throwForStatus();
const results = z.JSON.parse(response);
return {
'sessionKey': results.session.user.token
};
Функция z.JSON.parse
преобразует данные ответа во что-то, что JavaScript может использовать изначально. Если response
имеет формат, указанный выше, вы можете использовать эту точечную запись, чтобы получить доступ к каждому внутреннему объекту. Ваш первый пример передает response.content.token
, который, кажется, не существует. Попробуйте вместо этого использовать response
и посмотрите, приблизит ли это вас.
Эта страница может дать вам больше контекста, чтобы помочь вам выделить некоторые поля внутри этого объекта ответа: https://www.w3schools.com/js/js_json_objects.asp
Удачи!