Fetch GET请求无法在Android上访问API语法错误:JSON解析错误意外EOF Parse@[本机代码]

Fetch GET请求无法在Android上访问API语法错误:JSON解析错误意外EOF Parse@[本机代码],android,get,react-native-android,expo,fetch-api,Android,Get,React Native Android,Expo,Fetch Api,我正在尝试使用fetchapi来处理和获取req。到公共AWS API网关(无需授权) 以下代码在IOS(iPhone和Ipad)上完美运行,但在Android上却无法运行: fetchData= async() =>{ const { navigation } = this.props; const AAA = navigation.getParam('AAA',); const route= '/info' const response = await fetch(`

我正在尝试使用fetchapi来处理和获取req。到公共AWS API网关(无需授权)

以下代码在IOS(iPhone和Ipad)上完美运行,但在Android上却无法运行:

fetchData= async() =>{
  const { navigation } = this.props;
  const AAA = navigation.getParam('AAA',);
  const route= '/info'

  const response = await fetch(`${config.url}${route}?AAA=%${AAA}%`,
  {
    method: "GET",
    headers: {
      'x-api-key': config.key
    }
  });
  const setdata = await response.json();
  this.setState({data: setdata});
}
我目前在一个Expo管理的应用程序中,并在设备上通过Expo Cli进行测试。 我正在使用Expo SDK 34。 尽量避免添加AWS Amplify库,因为它太大了,无法满足这一需求。 如果我将响应放入Console.warn(响应),我会得到错误:

语法错误:JSON解析错误意外的EOF Parse@[本机代码]

AWS上的CloudWatch指标甚至没有显示API被调用/达到

我所能找到的只是:

  • 使用okHttp的POST请求会附加导致 问题(但GET请求似乎没有问题)
  • 通过Android向“https”URL和“https”发出的获取请求失败(但我的API是“https”)
  • 在我的API中添加了SSL证书,但没有什么不同
  • 我试图在零食中重新创建它,但在零食中的Android模拟器上,它似乎可以工作?但仍然不是在设备上

结果表明,我在传递URL字符串时,在MySql语法中使用了通配符(%)。IOS处理了这个发现,Android没有。调整后端以处理通配符起到了作用,显然,如果在URL字符串中传递“%”,则无法在android上使用Fetch API。

能否获取并查看字符串text result replace json to:const set=wait response.text();我试着将响应放在文本中,得到了如下结果:[]我认为这只是一个空数组,这就是我的初始数据状态:state={data:[],}从这里引用,然后实现我已经阅读了文档,并认为我在跟踪它们,你能指出我的代码不在哪里吗?