我有一个名为Services.json的Json文件,其中包含以下内容:
{
"name":"Services",
"version":"1.2.0",
"description":"Customer Services"
}
我想读取此文件,如果在阅读时发现“版本”键,则使用命令行脚本将相应值(1.2.0)保存到变量中
我试过这样的方法,但没有用。
@Echo off
for /f "tokens=1,2 delims=:{} " %%A in (Services.json) do (
If "%%~A"=="version" (
set version = "%%~b"
)
)
pause
4条答案
按热度按时间5lwkijsr1#
您可以使用PowerShell解析JSON文件,并使用
for /f..do
循环命令将其设置为批处理文件中的变量,如下所示:lvmkulzt2#
以前有人问过,但对我来说,查一查,重写一遍更容易。
---修订,因为JSON文件实际上只有1行
rem在应用于真实的数据之前,始终根据测试目录进行验证。
将数据读取到
json
,删除所有大括号,将json
处理为逗号分隔的元素列表"name":"value"
检查
name
是否在列表中;如果是,则指定value
。8hhllhi23#
此纯批处理解决方案获取 * 所有 * 变量的值:
输出:
gr8qqesn4#
我建议使用jq这样的结构感知工具从JSON文件中获取内容。