[英]How to parse JSON array key name dynamically using shell script jq
我在JSON下面,我想解析所有這些關鍵名稱product, inventory, rating, review
並將其放入列表中並一一迭代關鍵名稱。
{
"product": [
{
"productID": "123",
"productName": "test1"
}
],
"inventory": [
{
"id": "12093",
"name": "adie"
}
],
"rating": [
{
"value": "4",
"status": "done"
}
],
"review": [
{
"desc": "good",
"comments": "test"
}
]
}
動態解析鍵名后,我想用逗號分隔所有鍵名並分配給key_list
變量,如下所示:
key_list="product,inventory,rating,review"
之后,我想在循環中迭代key_list
並打印它們或用該值做一些事情。 所需的 output 將在循環中一一打印鍵名:
product
inventory
rating
review
我們如何使用 shell 腳本 jq 來實現這一點?
要生成鍵名列表:
jq -r 'keys_unsorted[]'
要生成帶有鍵名的逗號分隔字符串,您可以從以下內容開始:
jq 'keys_unsorted|join(",")'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.