如何加载JSON和拆分响应字符串?

时间:2019-06-03 16:19:07

标签: javascript json

我有一个返回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:意外令牌]

1 个答案:

答案 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之后还有其他内容,则也需要将其删除。