Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 API问题_Javascript_Jquery_Ajax_Cordova - Fatal编程技术网

Javascript JSON API问题

Javascript JSON API问题,javascript,jquery,ajax,cordova,Javascript,Jquery,Ajax,Cordova,我想知道为什么json被包装在()之间;在这个json api中,我想使用它,但我无法找到方法,谢谢大家 这是api的一个示例: 以及api的页面: PS:我正在apache cordova项目中使用javascript 编辑:我刚刚开始使用API,所以如果有人对这个问题感到不安,我很抱歉。问题是您的API没有返回正确的JSON。它返回类似于({property JSON here})的内容。(和)在JSON上无效,因此需要先修剪它们,然后解析JSON 编辑: 我将假设您正在使用fetch,因此

我想知道为什么json被包装在()之间;在这个json api中,我想使用它,但我无法找到方法,谢谢大家

这是api的一个示例:

以及api的页面:

PS:我正在apache cordova项目中使用javascript


编辑:我刚刚开始使用API,所以如果有人对这个问题感到不安,我很抱歉。

问题是您的API没有返回正确的JSON。它返回类似于
({property JSON here})
的内容。
在JSON上无效,因此需要先修剪它们,然后解析JSON

编辑: 我将假设您正在使用fetch,因此为了正确地修剪它,您可以执行以下操作:

fetch(/*您的fetch参数在这里*/)
.then(x=>x.text())//将响应转换为文本
。然后(x=>x.replace(//^\(.*);$/,“$1”)//删除有问题的字符并保留其余字符
.then(JSON.parse)//解析经过清理的输出
您可以打开chrome控制台立即运行的示例如下:

fetch(“http://www.etnassoft.com/api/v1/get/?id=589", {
“凭证”:“包括”,
“标题”:{
“接受”:“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed exchange;v=b3”,
“接受语言”:“en GB,en;q=0.9,es;q=0.8,es;q=0.7,en US;q=0.6”,
“缓存控制”:“无缓存”,
“pragma”:“无缓存”,
“升级不安全的请求”:“1”
},
“推荐人策略”:“降级时无推荐人”,
“主体”:空,
“方法”:“获取”,
“模式”:“cors”
}).然后(x=>x.text())
。然后(x=>x.replace(/^\(.*);$/,“$1”))

.then(JSON.parse)
在哪里可以看到(//)?在每个api链接的末尾都有一个api。它的api与JS有什么关系?我想通过JS读取和使用里面的数据。在你给出的链接中没有
/
。还要注意的是,一个更大的问题是,它不是有效的JSON,因为它被包装在
()
中,并且后面有一个
是的,这就是我想知道如何修剪它。我可以编辑我的答案来告诉你如何修剪,但首先我需要知道你是如何获取数据的。您正在使用本机获取吗?或者其他图书馆?Axios?Request.js?