這是我得到的以“標題”結尾的 json 路徑:
jq -c 'paths | select(.[-1] == "headline")' news.json
["data","legacyCollection","collectionsPage","stream","edges",0,"node","headline"]
["data","legacyCollection","collectionsPage","stream","edges",1,"node","headline"]
["data","legacyCollection","collectionsPage","stream","edges",2,"node","headline"]
我怎樣才能更進一步,即在一條路徑中連接所有元素。將我的輸出從:
["data","legacyCollection","collectionsPage","stream","edges",2,"node","headline"]
到
'.data.legacyCollection.collectionsPage.stream.edges[2].node'
uj5u.com熱心網友回復:
洗掉最后一個元素,在 . 前面加上一個點strings,numbers用括號括起來,然后join陣列:
.[:-1] | map(strings = ".\(.)" | numbers = "[\(.)]") | join("")
".data.legacyCollection.collectionsPage.stream.edges[0].node"
".data.legacyCollection.collectionsPage.stream.edges[1].node"
".data.legacyCollection.collectionsPage.stream.edges[2].node"
演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/468885.html
下一篇:決議JsonPostgres
