react-native - JSON stringify 在 react native 中做了什么
问题描述
我是反应原生应用程序开发的新手。我对 JSON.stringify 方法有些困惑。这是我的代码。
fetch('http://link.com', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
},
body: formData
}).then((response) => response.json())
.then((responseJson) => {
this.setState({
loading_status: false
})
if (!responseJson.error) {
var id = responseJson.result.id
var roles_id = responseJson.result.roles_id
AsyncStorage.multiSet([
['user_id', id.toString()],
['roles_id', roles_id.toString()],
]);
} else {
//error
}
}).catch((error) => {
console.error(error);
Platform.OS === 'android' ? ToastAndroid.show("Connection Error !", ToastAndroid.SHORT) : Alert.alert("Connection Error !")
return;
});
但是当我开始为此进行构建时出现了主要问题。我看到的是不在字符串中的值在从异步存储写入或读取数据时会产生错误。它在 ios 构建中给了我类似的错误。
NSnull cannot be converted into NSString
所以我把我的代码改成了这样
if (!responseJson.error) {
var id = JSON.stringify(responseJson.result.id)
var roles_id = JSON.stringify(responseJson.result.roles_id)
AsyncStorage.multiSet([
['user_id', id],
['roles_id', roles_id],
]);
}
现在这在 ios build 中工作正常。所以我的疑问是我如何解析 json 或者是否有任何标准方法来解析 react native 中的 json,这样我就不会遇到在为 react native 构建 ios 时遇到的问题。
解决方案
JSON.stringify() 用于将 JSON 转换为字符串。使用 JSON.parse() 解析字符串数据。
推荐阅读
- laravel - Laravel:将一个表中的值连接到另一个表中的值
- python - 关于索引错误和除法的问题
- vim - 如何在vim中创建一个访问当前文件名的命令?
- pine-script - Chris Moody 的 CM_Stochastic 高亮条??警报
- java - 如何在 Java 中连接换行符?
- java - 在itext 7中的行之间添加画布而不重叠页面
- scrapy - scrapy-splash response.body 不包含 html
- ios - 当视图控制器消失时会调用 deinit 吗?
- angular - Restful:同一资源的多个案例(相同的 api 端点?)
- javascript - 因此,如何使用 javascript 更改字母并使用 setTimeout 进行第二次延迟?