![](/img/trans.png)
[英]How to use jq to extract keys and print them a certain amount of times depending on another keys value from a JSON file
[英]How to use jq to extract variable keys and their values from JSON?
如果我有一個具有可變鍵名的JSON文件,例如:
{
"john": {"age": 40, "nickname": "jo"},
"mary": {"age": 50, "nickname": "mo"}
}
如何使用jq
提取具有某些值的鍵?
示例:提取名稱及其年齡:
"john": 40
"mary": 50
在您提到的特定情況下,可以使用以下過濾器:
to_entries[] | "\"\(.key)\": \(.value.age)"
在輸入中使用-r命令行選項(例如jq -rf program.jq)會產生:
"john": 40
"mary": 50
也可以看看:
嘗試這個:
to_entries[] | {(.key): .value.age}
輸出:
{
"john": 40
}
{
"mary": 50
}
首先將對象轉換為鍵/值對的數組; 那么您可以對其進行迭代並一並訪問鍵和關聯的值。
$ jq 'to_entries' tmp.json
[
{
"key": "john",
"value": {
"age": 40,
"nickname": "jo"
}
},
{
"key": "mary",
"value": {
"age": 50,
"nickname": "mo"
}
}
]
$ jq 'to_entries[] | "\(.key): \(.value.age)"' tmp.json
"john: 40"
"mary: 50"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.