You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解析HTTP请求返回的JSON字符串并提取source字段?

如何从HTTP GET返回的JSON中提取source字段并打印

你的代码存在几个关键问题,导致无法正确提取source字段:

  • 重复调用loadString():连续两次调用await req.loadString()完全多余,第一次已经获取到响应字符串,第二次调用还可能引发异常。
  • 未解析响应字符串为JSON对象:loadString()返回的是纯文本字符串,必须先转换为JavaScript对象才能访问内部属性。
  • JSON结构访问错误:返回的JSON中results是数组而非单个对象,不能直接用response.results.source访问,需要先定位数组元素再取source。

修正后的完整代码

let req = new Request(fullurlfiltered)

req.method = "GET"
req.headers={
  "Authorization": api,
  "Content-Type": "application/json",
}

// 仅调用一次获取响应字符串
const responseStr = await req.loadString()
// 将字符串解析为可操作的JSON对象
const responseObj = JSON.parse(responseStr)

// 遍历results数组,逐个打印source字段
responseObj.results.forEach(item => {
  console.log(item.source)
})

// 若只需获取第一个元素的source,可直接用索引:
// console.log(responseObj.results[0].source)

关键步骤说明

  1. 解析JSON字符串:通过JSON.parse()把响应文本转换成JavaScript对象,这是访问JSON属性的前提。
  2. 正确访问数组结构:responseObj.results是数组,需要用forEach遍历所有元素,或通过[索引]定位单个元素,再提取其中的source字段。

你之前尝试的response[0]是直接对字符串取索引,得到的是字符串第一个字符;response.results.source则是因为未解析JSON,且错误地把数组当成了单个对象,所以均无效。

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:42:20