相关文章推荐
酒量小的领带  ·  寺裏寺外——普度寺見證明清皇城風雲_古都風韻 ...·  6 月前    · 
腼腆的蛋挞  ·  空域高斯滤波与频域高斯滤波 ...·  7 月前    · 
挂过科的山楂  ·  No module named ...·  7 月前    · 
谈吐大方的拐杖  ·  比视力还重要!眼睛的这个功能,多数人没有关注 ...·  9 月前    · 
奔放的熊猫  ·  解析Typescript中的JSON数组-腾 ...·  2 年前    · 
Code  ›  使用批处理脚本回显json文件中字段的值。开发者社区
批处理
https://cloud.tencent.com/developer/ask/sof/107274334
坚强的猴子
2 年前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问

问 使用批处理脚本回显json文件中字段的值。

Stack Overflow用户
提问于 2022-09-08 07:42:49
EN
{
    "fields" : {
        "field_10061" : 24,   
        "field_10101" : "GB"
}

我有一个名为.json的storage.json文件位于C:\files\storage.json中,storage.json的内容如下所示:-

我想要创建一个批处理文件,将"field_10101“的值存储在变量中,并回显它。我试过下面的命令,但它不起作用。

set LOC=C:\files\storage.json
for /f  delims^=^"^ tokens^=3 %%A in ('findstr /R "field_10101" %LOC%') do set new=%%A
echo %new%.
2 40 0 票数 0
EN
json
batch-file
field

回答 2

Stack Overflow用户

发布于 2022-09-09 11:05:44

您正在处理JSON,所以请使用正确的JSON解析器!

用 西德尔

FOR /F "delims=" %%A IN ('
  xidel -s "C:\files\storage.json" -e "$json/fields/field_10101"
') DO SET "new=%%A"

或者使用 --output-format=cmd 和点表示法,而不是XPath表示法:

FOR /F "delims=" %%A IN ('
  xidel -s "C:\files\storage.json" -e "new:=($json).fields.field_10101" --output-format^=cmd
') DO %%A

或使用 jq

FOR /F "delims=" %%A IN ('
  jq -r ".fields.field_10101" "C:\files\storage.json"
') DO SET "new=%%A"
票数 1
EN

Stack Overflow用户

发布于 2022-09-08 21:40:03

set LOC=C:\files\storage.json
for /f  delims^=^"^ tokens^=3 %%A in ('findstr /R "field_10101" %LOC%') do set new=%%A
call :getvalue %new%
echo %value%
goto exit
 
推荐文章
酒量小的领带  ·  寺裏寺外——普度寺見證明清皇城風雲_古都風韻_首都之窗_北京市人民政府門戶網站
6 月前
腼腆的蛋挞  ·  空域高斯滤波与频域高斯滤波 分类: 图像处理 201
7 月前
挂过科的山楂  ·  No module named 'ROOT' - ROOT - ROOT Forum
7 月前
谈吐大方的拐杖  ·  比视力还重要!眼睛的这个功能,多数人没有关注到......
9 月前
奔放的熊猫  ·  解析Typescript中的JSON数组-腾讯云开发者社区-腾讯云
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号