我有一个.json文件,想要提取某个键的值 - 但是键会多次出现(因为JSON包含一个数组列表)。但我知道我正在寻找的价值以一定的前缀开头,所以我写了这个:
for /f "tokens=1,2 delims=:, " %%a in (' find ":" ^< "myjson.json" ') do (
if "%%~a"=="mykey" (
set VALUE_I_WANT_TO_EXTRACT=%%~b
echo b: %%~b
echo var: %VALUE_I_WANT_TO_EXTRACT%
IF "%VALUE_I_WANT_TO_EXTRACT:~0,8%"=="myprefix" (
goto leave
)
)
)
:leave
打印:
b: myprefixvalue
var:
b: othervalue1
var:
b: othervalue2
var:
当我退出行echo b: %%~b
时,我得到:
var: othervalue2
var: othervalue2
var: othervalue2
这里发生了什么?我如何获得我想要的价值?