Как получить данные в интерфейсе машинописного текста и из него из JSON строки в Angular - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь установить объект пользователя из строки JSON, полученной из localStorage.

let jsonObj: any = 
JSON.parse(localStorage.getItem('userId'));
this.user = (jsonObj as User)

Этот вызов:

console.log(JSON.stringify(this.user));

Дает ожидаемый результат:

 [{"firstName":"Thom","lastName":"Thumb","username":"Tiny",
    "password":"123456","streetAddress":"587 Elm St.",
 "city":"Cleveland","state":"Ohio","country":"USA",
"postalCode":"45678","email":"thom.thumb@gmail.com","id":5}]

Однако, когда я пытаюсь извлечь определенное c значение:

        console.log(this.user.username);

, оно возвращает undefined. Мне нужно извлечь значение, чтобы присвоить его другому объекту.

Вот как выглядит «пользователь»:

export interface User {
id: number;
username: string;
password: string;
firstName: string;
lastName: string;
streetAddress: string;
city: string;
state: string;
country: string;
postalCode: string;
email: string;
token: string;
}

1 Ответ

0 голосов
/ 04 августа 2020

Вы получаете массив пользователей. Используйте: -

console.log(this.user[0].username);

Как вы можете видеть в данном выводе, он начинается с [и заканчивается], это означает, что это массив.

[{"firstName":"Thom","lastName":"Thumb","username":"Tiny", "password":"123456","streetAddress":"587 Elm St.", "city":"Cleveland","state":"Ohio","country":"USA", "postalCode":"45678","email":"thom.thumb@gmail.com","id":5}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...