Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用异步存储解析JSON对象_Javascript_React Native_Asyncstorage - Fatal编程技术网

Javascript 使用异步存储解析JSON对象

Javascript 使用异步存储解析JSON对象,javascript,react-native,asyncstorage,Javascript,React Native,Asyncstorage,我基本上是在尝试写和读一个简单的对象 写作: AsyncStorage.setItem('@Test',JSON.stringify(newStudent)) 阅读: console.log(JSON.parse(AsyncStorage.getItem('@Test')) 但我得到了“未捕获的语法错误:JSON中位置1的意外标记o” 我也试过了 console.log(AsyncStorage.getItem('@Test').ID) 但是我变得“不确定” 如何解析对象?有两种方法可以从异步存

我基本上是在尝试写和读一个简单的对象

写作:
AsyncStorage.setItem('@Test',JSON.stringify(newStudent))
阅读:
console.log(JSON.parse(AsyncStorage.getItem('@Test'))
但我得到了“未捕获的语法错误:JSON中位置1的意外标记o”

我也试过了
console.log(AsyncStorage.getItem('@Test').ID)
但是我变得“不确定”


如何解析对象?

有两种方法可以从异步存储中获取信息

第一: 然后您可以简单地调用函数并捕获变量中的值

var test = retrieveData();
第二: 如果您不想使用异步函数。 您可以创建一个存储that的钩子,该钩子将存储变量的值,然后更新该值,如下所示:

const [testValue, setTestValue] = useState(null);
AsyncStorage.getItem("@Test").then((value) => { setTestValue(value) });
确保以以下方式导入异步存储:

import {AsyncStorage} from "react-native";
import AsyncStorage from "react-native";
而不是这样:

import {AsyncStorage} from "react-native";
import AsyncStorage from "react-native";

如果需要有关AsyncStorage的其他信息,请查看文档。

这是因为存储的项为空或不是有效的json。AsyntStorage软件包不推荐使用react native。它现在是react土著社区的一部分。