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

如何从URL直接导入JSON数据到Google Sheets?

如何将公开API的JSON数据导入Google Sheets并提取特定字段

问题背景

尝试将公开API的JSON数据导入Google Sheets(示例接口:https://jsonplaceholder.typicode.com/users/1),原始JSON结构如下:

{"id":1,"name":"Leanne Graham","username":"Bret","email":"Sincere@april.biz","address":{"street":"Kulas Light","suite":"Apt. 556","city":"Gwenborough","zipcode":"92998-3874","geo":{"lat":"-37.3159","lng":"81.1496"}},"phone":"1-770-736-8031 x56442","website":"hildegard.org","company":{"name":"Romaguera-Crona","catchPhrase":"Multi-layered client-server neural-net","bs":"harness real-time e-markets"}}

使用IMPORTDATA函数时,逗号会被当作分隔符拆分内容,属性名引号丢失;用TEXTJOIN拼接会产生多余逗号;指定虚拟分隔符的方案存在字符冲突风险。最终目标是提取JSON中的特定属性(如name字段),需要可靠的导入方法。

解决方案

1. 直接提取特定字段(推荐,一步到位)

利用Google Sheets内置的JSON函数,结合IMPORTDATA获取数据并通过JSONPath定位目标字段:

=JSON(IMPORTDATA("https://jsonplaceholder.typicode.com/users/1"), "$.name")
  • 执行后会直接返回Leanne Graham
  • 如需提取嵌套字段,比如地址中的城市,可使用$.address.city作为JSONPath参数

2. 获取完整原始JSON数据

通过Google Apps Script创建自定义函数,直接获取未修改的JSON内容:

  • 打开目标表格,点击「扩展程序」→「Apps Script」
  • 删除默认代码,粘贴以下脚本:
function GETJSON(url) {
  var response = UrlFetchApp.fetch(url);
  return response.getContentText();
}
  • 保存项目(可命名为JSONImporter),回到表格单元格输入:
=GETJSON("https://jsonplaceholder.typicode.com/users/1")

该函数会返回完整的原始JSON字符串,保留所有引号、逗号和嵌套结构,无拆分或格式丢失问题。

3. 修复现有导入的不完整数据(临时方案)

如果必须基于已用IMPORTDATA导入的拆分内容修复,可使用以下公式重新拼接(仅适用于无特殊字符的简单JSON):

=CONCATENATE(IMPORTDATA("https://jsonplaceholder.typicode.com/users/1"))

但此方法仍可能因JSON内的特殊字符失效,优先推荐前两种方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:25:16