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



我有一个返回 JSON 的 url,但返回字符串的开头是

])}while(1);</x>{"success":true,"payload":{"value":

我想在])}while(1);</x>上拆分并查看该split数组的 [1] 值。

现在我正在做

fetch(jsonURL)
  .then(res => {
    console.log(res); 
  });

通常我会在console.log分手,但我收到以下错误:

天才程序员的神话-9381a884591e:1 未捕获(承诺(语法错误:意外标记 ] 在位置 0 的 JSON 中

您需要调用 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 之后还有内容,您还需要将其删除。

最新更新