json - 使用 jq 在 windows cmd 中为特殊字符更正嵌套对象的配额设置
问题描述
我有以下 json 输入文件(我知道这不是一个好的结构,但我无法更改它)
{
"TEST1": {
"ONE": "value",
"TWO": "value-1",
},
"TEST2": [
{
"A": [
"test": "test"
],
"B-B":[
"test": "test"
]
}
]
}
我想在批处理循环中处理它。但有时里面有特殊字符需要转义。
for /f %%i in ('type %LOCAL_PATH_FILE% ^| %JQ% -r ".TEST2[] | keys[]"') do (
set SUB=%%i
ECHO sub is !SUB!
for /f %%j in ('type %LOCAL_PATH_FILE% ^| %JQ% -r ".TEST2[].!SUB![] | keys[]"') do (
set CONTENT=%%j
ECHO content path is !CONTENT!
)
)
当前结果如下所示:
jq: error: syntax error, unexpected IDENT, expecting $end (Windows cmd shell quoting issues?) at <top-level>, line 1:
.TEST2[].B-B[] | keys[]
jq: 1 compile error
The process tried to write to a nonexistent pipe.
我知道它应该以某种方式通过配额来逃避它,但我无法找到它的正确语法。
也许有人可以帮助我:)
解决方案
推荐阅读
- time - 追问:Modelica总时间计算仿真和方程初始化
- string - SML如何在isSubstring比较后更改String
- python - 我无法让带有累加器的循环正常工作,抛出错误 Python
- python - Matplotlib:如何仅渲染较大图形的小区域(剪辑)
- ios - Swift - 如何模仿 iOS 的 Files 应用可扩展导航栏
- string - 给定一个前缀,返回带有该前缀的前 N 个搜索词
- qt - Qt 相当于 timeGetTime()
- javascript - 如何在 ReactJS 中循环的映射中对值进行排序
- javascript - 真的没有将符号转换为索引“B3”到[2、3]的内置方法吗?
- css - Angular / CSS样式更改行项的宽度