macos shortcuts 处理 json 数据需“获取url内容”→“获取词典值”→“提取值”三步闭环:先拉取api响应,再显式解析为词典或列表,最后按对象键名或数组循环提取字段。

macOS Shortcuts 处理 JSON 数据,关键在于三步闭环:拉取、解析、提取。它不写代码,但要懂结构——JSON 是对象还是数组,决定了后续操作怎么搭。
从网络获取原始 JSON 数据
绝大多数 JSON 来自 API,用“获取 URL 内容”操作发起请求:
- 填入目标地址,比如 https://api.github.com/users/octocat
- 如需认证,点击“更多”→“请求头”,添加 Authorization: Bearer your_token
- 若要用 POST 提交数据,先用“文本”操作拼出合法 JSON 字符串(注意双引号转义),再填入“获取 URL 内容”的“正文”字段
- 运行前建议勾选“显示结果”,确认返回的是纯 JSON 文本,不是 HTML 或错误页
显式解析为可操作结构
Shortcuts 不会自动识别 JSON,必须靠“获取词典值”触发解析:
- 把“获取 URL 内容”的输出连到“获取词典值”,它会尝试将文本转成快捷指令内部的词典或列表
- 如果报错,说明响应不是合法 JSON(常见于空响应、网络错误或服务器返回 HTML)
- 不确定结构时,先看“显示结果”输出:开头是 { 就是对象,用“获取词典值”;开头是 [ 就是数组,之后得配合“对每个项目执行”循环处理
按需提取字段或遍历数组
解析完成后,数据变成快捷指令能直接读取的变量:
- 对对象:在“获取词典值”里填键名,如 login、name;嵌套字段用点号,如 company.location
- 对数组:拖入“对每个项目执行”,循环体内再加“获取词典值”,每次取当前项的某个字段(如 id 或 title)
- 提取多个字段后,可用“文本”操作拼接,比如 “用户:{姓名},ID:{ID}”,再传给通知或保存文件
本地读写 JSON 文件(非网络场景)
如果 JSON 存在本地文件中,流程略有不同:
- 用“获取文件”读取文件内容 → 输出是文本,不是 JSON
- 必须再接“获取词典值”才能解析(不能跳过这一步)
- 修改后想存回文件:先用“字典”或“列表”操作构建新结构,再用“转换为 JSON”生成字符串,最后“存储文件”
- 注意:“转换为 JSON”只接受快捷指令原生词典/列表,不能直接传文本











