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

如何在Windows批处理中用jq-win64.exe提取JSON字段并赋值给变量

可行解决方案

前置准备

确保你已经将jq-win64.exe放置在批处理文件同目录,或者将其所在路径加入Windows系统环境变量,保证命令行可以正常调用该工具。

核心语法说明

你需要使用jq的-r(原始输出)参数,避免提取的字符串前后自动包裹双引号:

  • 提取第一条Result的ItemTitle字段:.Result[0].ItemTitle
  • 提取第一条Result的Artists数组第一个元素:.Result[0].Artists[0]

完整批处理代码

@echo off
setlocal enabledelayedexpansion

:: 提取ItemTitle字段存入变量
for /f "delims=" %%a in ('jq-win64.exe -r ".Result[0].ItemTitle" "song.json"') do (
    set "ItemTitle=%%a"
)

:: 提取Artists第一个元素存入变量
for /f "delims=" %%a in ('jq-win64.exe -r ".Result[0].Artists[0]" "song.json"') do (
    set "Artist=%%a"
)

:: 输出验证结果(可选,不需要可删除)
echo ItemTitle=!ItemTitle!
echo Artist=!Artist!

endlocal

注意事项

  • 如果你是直接在CMD窗口手动执行测试,需要把代码中的%%a替换为%a
  • 如果jq-win64.exe或者song.json的路径包含空格,一定要用英文双引号把完整路径包裹起来
  • 若不需要后续使用变量,仅要输出指定格式,可直接用单条jq命令实现:
jq-win64.exe -r "\"ItemTitle=\(.Result[0].ItemTitle)","Artist=\(.Result[0].Artists[0])"" song.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:15:04