我有一个返回JSON的网址,但是返回字符串的开头是
])}while(1);</x>{"success":true,"payload":{"value":
我想分割])}while(1);</x>
并查看该split
数组的[1]值。
现在我在做
fetch(jsonURL)
.then(res => {
console.log(res);
});
通常我会在console.log
分叉,但出现以下错误:
天才程序员的神话9381a884591e:1 JSON中位置0未捕获(承诺)SyntaxError:意外令牌]
答案 0 :(得分:5)
您需要调用response.text()
来获取响应的原始文本,因此可以在开始时删除多余的内容。然后,您必须自己解析JSON,不能使用res.json()
。
fetch(jsonURL)
.then(res => res.text())
.then(text => {
text = text.replace('])}while(1);</x>', '');
let obj = JSON.parse(text);
console.log(obj);
|);
这假设无关紧要的东西只是在开始。如果JSON之后还有其他内容,则也需要将其删除。