[英]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.