【发布时间】:2024-01-07 10:54:01
【问题描述】:
我有一个格式如下的 json。我只想获取嵌套数组的那些字段的键名。对于下面的 json,我想输入等于“cd”的输出键名,因为这是唯一嵌套的。 是否有任何命令可用于获取此值。
{
"ab": null,
"cd": [
"ST",
"CO:,
],
"EF": 0,
"GH": 0,
"IJ": null,
"IK": true,
},
【问题讨论】:
我有一个格式如下的 json。我只想获取嵌套数组的那些字段的键名。对于下面的 json,我想输入等于“cd”的输出键名,因为这是唯一嵌套的。 是否有任何命令可用于获取此值。
{
"ab": null,
"cd": [
"ST",
"CO:,
],
"EF": 0,
"GH": 0,
"IJ": null,
"IK": true,
},
【问题讨论】:
这是使用 jq 获得所需输出的一种方式。
jq 'to_entries[]|select(.value|type == "array")|.key' <<< '
{
"ab": null,
"cd": [ "ST","CO" ],
"EF": 0,
"GH": 0,
"IJ": null,
"IK": true
}'
请注意,我修改了输入以使其成为有效的 json。
要了解它是如何工作的,请先查看命令 jq 'to_entries' 返回的内容。一旦你看到了,剩下的就应该很清楚了。
【讨论】: