json - 使用 jq 从 json 文件中获取键值对
问题描述
我正在尝试使用jq获取下面的 JSON 文件的key@value对
{
"STUFF_RELATED1": "STUFF_RELATED1",
"STUFF_RELATED2": "STUFF_RELATED2",
"THINGS": {
"THING_2": {
"details": {
"stuff_branch": "user/dev"
},
"repository": "path/to/repo",
"branch": "master",
"revision": "dsfkes4s34jlis4jsj4lis4sli3"
},
"THING_1": {
"details": {
"stuff_branch": "master"
},
"repository": "path/to/repo",
"branch": "master",
"revision": "dsfkes4s34jlis4jsj4lis4sli3"
}
},
"STUFF": {
"revision": "4u324i324iy32g",
"branch": "master"
}
}
key@value对应如下所示:
THING_1@dsfkes4s34jlis4jsj4lis4sli3
目前我已经自己尝试过:
jq -r ' .THINGS | keys[] as $k | "($k)@(.[$k].revision)" ' things.json
但它并没有给出我真正想要的结果。:(提前谢谢!
解决方案
你需要逃脱(
:
jq -r ' .THINGS | keys[] as $k | "\($k)@\(.[$k].revision)" ' things.json
推荐阅读
- string - 使用 PowerShell 将字符串解析为对象时遇到问题
- python - Python 函数中的输入参数
- makefile - 将路径字符串列表解析为make中不同路径的更好方法?
- r - rbind 一个空的 xts 和一个 xts
- c++ - 在类定义中推导内联静态成员函数的返回类型
- docker - Kubernetes 组合
- python - 如何使用 TensorFlow 连接两个具有不同形状的张量?
- unity3d - Unity - 为什么 output_log.txt 没有在错误中显示文件名
- java - 为什么最外层的三重嵌套 for 循环只循环一次?
- javascript - 不好的做法?没有 Babel 的 React 和 ES6