如何用JavaScript读取REST API返回的含URL字段的JSON?
解决JavaScript读取REST API返回JSON中URL字段的报错问题
前阵子我碰到个头疼的问题:调用某个REST API拿到JSON数据后,用JavaScript读取里面的URL格式字段时,代码总是报错跑不起来。
后来多亏了@Mike的指点,问题终于搞定了!我把原来的代码调整成了下面这样,就正常工作了:
// 修改后的可运行代码 async function fetchAndProcessData() { try { const response = await fetch('目标API地址'); const data = await response.json(); // 针对URL字段做解码处理(这一步是关键) const processedUrl = decodeURIComponent(data.targetUrlField); console.log('处理后的URL:', processedUrl); // 这里可以添加后续的业务逻辑 } catch (error) { console.error('处理过程出错:', error); } } // 调用函数 fetchAndProcessData();
后来复盘发现,问题出在API返回的URL字段是经过编码的,直接读取会因为特殊字符(比如%2F这类编码字符)导致解析或后续处理出错,加上decodeURIComponent()解码步骤后,就完美解决了这个问题。
内容的提问来源于stack exchange,提问作者Michiel
相关产品推荐
相关产品推荐

