【发布时间】:2021-01-19 19:14:35
【问题描述】:
我是 Javascript 的新手,并且反应原生,问题本身可能很容易回答。
我正在设置一个 AsyncStorage 并在存储中创建一个 Item,它是一个具有 3 个键值的 .JSON。
const saveDataToStorage = (token, userId, expirationDate) => {
AsyncStorage.setItem('userData', JSON.stringify({
token: token,
userId: userId,
expiryDate: expirationDate.toISOString()
}))
};
我现在要做的是从项目的其他部分中的此项中检索“userId”值,但问题就在这里。
var PersonalId = await AsyncStorage.getItem('userData');
console.log(PersonalId);
console.log(typeof PersonalId);
我知道如何访问项目本身,但我不知道如何访问其中的特殊键。我不能使用命令:
var PersonalId = await AsyncStorage.getItem('userData').userId;
因为 AsyncStorage 中的项目是 字符串,我知道这一点是因为我从代码的第二行获得了此信息。
console.log(typeof PersonalId);
如何访问我的项目“userData”中的特殊键“userId”而不是整个项目本身?无论如何我不能使用该项目,因为它是一个字符串,我不能将它视为一个对象,这就是我的问题。
感谢您的阅读和帮助!
【问题讨论】:
-
您忘记了在将 JSON 保存到存储之前对它进行了字符串化。所以当您阅读它时会得到字符串。只需
JSON.parse返回的字符串,您就应该在路上了。 -
@rahulpsd18 您的回答是我解决方案的关键。如果您将此评论作为答案发布,我会给您绿色的钩子!
标签: javascript reactjs react-native asyncstorage