A T*_*A T 7 javascript arrays computed-properties jmespath
从ES2015具有计算的属性和Array.reduce / Array.map / Object.assign,您可以执行以下操作:
[{name: 'foo', age: 43}, {name: 'bar', age: 55}].map(
o => ({[o.name]: o.age})).reduce((a, b) => Object.assign(a,b), {})
Run Code Online (Sandbox Code Playgroud)
…并获得:
{ foo: 43, bar: 55 }
Run Code Online (Sandbox Code Playgroud)
如何从JMESPath获得此信息?
尝试:
$echo '[{"name": "foo", "age": 43}, {"name": "bar", "age": 55}]' | jp [].{name:age}
[
{
"name": 43
},
{
"name": 55
}
]
Run Code Online (Sandbox Code Playgroud)
[*].[@.name,@.age]
Run Code Online (Sandbox Code Playgroud)
退货
[['foo', 43], ['bar', 55]]
Run Code Online (Sandbox Code Playgroud)
然后可以在 Jmespath 之外进行后处理(如果您可以选择)。
| 归档时间: |
|
| 查看次数: |
276 次 |
| 最近记录: |