2016-11-28 21 views
2

使用jq我想反转一个json对象,以便该属性变成该值并且该值成为关键字。如何使用jq交换对象的键和值?

来源:

{ 
    "123": "Foobar" 
    "567": "Poit" 
} 

目标:

{ 
    "Foobar": "123" 
    "Poit": "567" 
} 

我怎样才能做到这一点?

回答

4

你的具体情况:

to_entries | map({(.value) : .key }) | add 

更有力:

to_entries | map({(.value|tostring) : .key }) | add 

或者如果你喜欢:

with_entries(.key as $k | .key = (.value|tostring) | .value = $k)