2015-10-12 46 views
0

我一直在試圖打印鍵和屬性,從而給這個JSONJQ:打印鍵和屬性值

[ 
    { 
    "key": "foo", 
    "value": { "sub" : false} 
    }, 
    { 
    "key": "bar", 
    "value": { "sub" : true} 
    } 
] 

我想回到這樣的值:

[ 
    { 
    "foo": "false" 
    }, 
    { 
    "bar": "true" 
    } 
] 

我m使用to_entries來做到這一點,但是當我把JSON提供給JQ,雖然我似乎無法正確訪問它?我得到一個錯誤:

jq: error (at :9): Cannot index array with string "key"

This test case簡化行爲

回答

1

你真的不能使用to_entries這裏,創建對象了鍵/值對象的數組。您正試圖將鍵/值對象映射到另一個對象。只需直接映射即可。

map({ (.key): .value.sub }) 
+0

謝謝傑夫 - 工作! –