从JSON获取具有特定前缀的值

时间:2016-11-21 22:15:06

标签: json batch-file cmd

我有一个.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

这里发生了什么?我如何获得我想要的价值?

0 个答案:

没有答案