首页 > 解决方案 > 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 时遇到的问题。

标签: react-native

解决方案


JSON.stringify() 用于将 JSON 转换为字符串。使用 JSON.parse() 解析字符串数据。


推荐阅读