Object construction with jq
jq
is a powerful command-line tool to help you parse, analyze and script json output.
My current problem in jq
is to turn this:
{
"modules": [
{
"name": "x",
"size": 10
},
{
"name": "y",
"size": 20
}
]
}
into this:
{x: 10}
{y: 20}
This is possible using object construction:
jq '.modules[] | {(.name): .size}'
You pipe the result of the initial attribute as an array syntax .modules[]
to an object {}
. To use an attribute as a key you put parens around the attribute (.name)
and declare that the value should be a different attribute .size
.
Read more in the jq docs
Tweet