给定一个json文件,格式为:
[ { name : "A", value : "1" }, { name : "B", value : "5" }, { name : "E", value : "8" } ]
我将如何使用jq将其转换为如下形式:
{ "A" : { name : "A", value : "1" }, "B" : { name : "B", value : "5" }, "E" : { name : "E", value : "8" } }
jq '{(.[].name) : "the name"}' 'myfile.json' 使用[] .name键为我提供了一个对象,但是如何为该对象分配对象呢?
jq '{(.[].name) : "the name"}' 'myfile.json'
map( { (.name|tostring): . } ) | add
(这tostring是出于安全性/鲁棒性。)
tostring
如果您的jq INDEX/1(在1.5版发布后引入),则可以简单地编写:
INDEX/1
INDEX(.name)