从带有computed properties和Array.reduce/Array.map/Object.assign的ES2015中,您可以执行以下操作:
[{name: 'foo', age: 43}, {name: 'bar', age: 55}].map(
o => ({[o.name]: o.age})).reduce((a, b) => Object.assign(a,b), {})
…并获得:
{ foo: 43, bar: 55 }
如何从JMESPath获得此信息?
试图:
$echo '[{"name": "foo", "age": 43}, {"name": "bar", "age": 55}]' | jp [].{name:age}
[
{
"name": 43
},
{
"name": 55
}
]
最佳答案
问题
解决方法
例子
[*].[@.name,@.age]
[['foo', 43], ['bar', 55]]
如果可以的话,可以在Jmespath外部对其进行后处理。
也可以看看
关于javascript - JMESPath中的动态/计算键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45236960/