React Native fetch有时会捕获JSON解析错误



我正在开发一个 React Native 应用程序,它从服务器获取 API 响应。有时,它会返回成功,但有时会捕获错误。

以下代码是我的获取函数:

export default async (url, body = null, method = 'GET') => {
    let config = {
        method,
    };
    return await fetch(url, config).then((response) => {
        if (!response.ok) {
            throw Error(response.statusText);
        }
        return response.json();
    }).catch(error => {
        console.warn(error); // sometimes it was catched in here
    });
};

它返回各种错误消息,例如:

[语法错误:JSON 解析错误:"\u302\"不是有效的 Unicode 转义]
[语法错误:JSON 解析错误:转义字符 4 无效]
[语法错误:JSON 解析错误:"\u740\"不是有效的 Unicode 转义]

我已经通过浏览器检查了我的 API 响应,它没有发现响应有任何错误。我认为我的 ES 代码可能有问题。

这里出了什么问题...?

\u302\ 字符似乎类似于称为"组合回旋口音"的 ^ 符号http://www.fileformat.info/info/unicode/char/0302/index.htm

\u740\ 是一个"叙利亚女性点http://www.fileformat.info/info/unicode/char/0740/index.htm

我猜 JSON 解析器无法处理这些字符,或者至少无法以它们的呈现方式处理。看起来它们被用作转义字符,但很难知道,因为您没有提供生成每个错误的输出示例。

相关内容

  • 没有找到相关文章

最新更新