如何使用jq列出深层嵌套json中的所有键?

时间:2018-06-20 08:59:11

标签: json jq

Iam解析非常大的JSON(多层嵌套)。 所以我想在嵌套的json中查找所有密钥。

我做了什么:

doit() {
  cd "$base_data_dir"/"$1"
  cdo -f nc2 mergetime *.nc "$output_dir"/${2}_${1}.nc"
}
export -f doit
export base_data_dir
export output_dir
parallel doit ::: {2000..2018} ::: LST NDVI

我得到的是顶级密钥,但是我的报告密钥具有多层嵌套的值。那么,有什么办法可以使用Jq在此嵌套JSON中打印所有密钥??

1 个答案:

答案 0 :(得分:2)

使用过滤器获取输入中所有元素的所有路径,并使用<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <uses-permission android:name="android.permission.READ_CALL_LOG"/> 将它们连接起来。您也可以强制进行字符串转换,以免在连接数字时出错。

join

paths | map(tostring) | join(".") 将路径输出到其输入中的所有元素(除非它不会输出表示。本身的空列表)。