当前位置: 首页 > 知识库问答 >
问题:

从JSON响应中删除不需要的标记

常子濯
2023-03-14

希望有人能提供帮助,我正在使用以下代码在React应用程序的endpoint执行抓取:

try {
        const response = await fetch("https://myendpoint.com/abcd/search?c=abc123");
        const jsonData = await response.json();
        console.log(jsonData);

      } catch (err) {
        console.error(err.message);
      }

并返回错误:server.js: 1意外令牌

在《邮递员》中,当我运行此程序并返回JSON时,我得到的是:

<pre>{
       "name": "abc123",
       "location": "USA",
       "notes": "qwerty"
}</pre>

现在我无法控制响应,我假设错误与有关。”

删除这些标签的最佳方法是什么,即


共有2个答案

袁琪
2023-03-14

虽然我不认为这是推荐的答案,但如果您不控制服务器并且内容类型标头不起作用,这是一个解决方案。

try {
  const response = await fetch('https://httpbin.org/get');
  const responseText = await response.text();
  const convertedResponseText = responseText.replace(/\<pre\>|\<\/pre\>/gm, '');
  const responseJSON = JSON.parse(convertedResponseText);
  console.log(responseJSON);
} catch (err) {
  console.error(err.message);
}
訾淇
2023-03-14

预标记将出现,因为所发出的请求是针对html的。而不是json响应。您需要将一个设置为Content-Type的标头传递给Application/json。这应该能解决你的问题。

try {
  const response = await fetch('https://myendpoint.com/abcd/search?c=abc123', {
    headers: { 'Content-Type': 'application/json' }
  });
  const jsonData = await response.json();
  console.log(jsonData);
} catch (err) {
  console.error(err.message);
}
 类似资料:
  • 我有一个应用程序,它使用camel-jetty、camel-cxf来公开REST api,并在apache karaf(fuse esb)中运行。由于安全原因,我需要从API响应中删除'server'标头。我从camel exchange头中删除了头,但它仍然以Jetty(7.6.7.v20120910)的形式在api响应中返回。如何从API响应中删除标头?

  • 我试图在节点中添加一个行为类似于permessage deflate的web套接字扩展。我的问题是直到点节点发回它与Sec WebSocket扩展的握手:x-webkit-deflate-frame之前,一切都正常。来自Safari的请求包含了这一点,但如果我在响应中包含它,尝试告诉Safari继续使用压缩,它就永远不会在网络选项卡中显示为标题。我已经通过Wireshark确认我们在回复中发送了它

  • 有人知道我为什么得到这种阵列吗?我只想要下面这部分。我需要删除这些mysql连接和其他不需要的数组。 下面的代码显示了我如何获得该数组。当I

  • 问题内容: 在.NET Core 1.0(所有API响应)的全局级别上,如何配置Startup.cs,以便在JSON响应中删除/忽略空字段? 使用Newtonsoft.Json,您可以将以下属性应用于属性,但我希望避免将其添加到每个属性中: 问题答案: [.NET Core 1.0] 在Startup.cs中,可以将JsonOptions附加到服务集合,并在其中设置各种配置,包括删除空值: [.N

  • 嗨,有人能给我删除\r\n空格和向后斜杠()的代码片段吗? "有效负载": "{**\r\n**"postId": 1,\r\n"id": 1,\r\n"name":"id labore ex et quam lab um",\r\n"email":"Eliseo@gardner.biz",\r\n"body":"laudantium enim quasi est quidem magnam vo

  • 此问题似乎与在帮助中心定义的范围内编程无关。 您好,任何人都可以给我删除空格和反斜杠()的代码段。 “Payload”:“{**\r\n**”postId:1,\r\n“id”:1,\r\n“name”:“id labore ex et quam labourum”,\r\n“email”:Eliseo@gardner.biz“,\r\n“body”:“laudantium enim quasi