我有这个特殊的 json 对象,
[
{
"userid" : "fe2e48b7-858b-4a0d-964a-efb8483a00c4",
"lastupdateddate" : "84798000-13cd-11ea-8080-808080808080",
"transactionid" : "10383117.2216238756",
"accountid" : "10383117.10921962",
"misctransactiondata" : null,
"rawtransactiondata" : "{\"id\":\"1234567\",\"account_id\":\"456451962\"}",
"source" : "gateway",
"transactiondatajson" : "{\"version\":\"v1\",\"transactionId\":\"4234234.2216238756\",\"accountId\":\"345345345.10921962\"}",
"version" : "v1"
}
]
我想变成,
{
"transactions": [
{
"version": "v1",
"transactionId": "4234234.2216238756",
"accountId": "345345345.10921962",
"rawData": {
"id": "1234567",
"account_id": "456451962"
}
}
]
}
目前我有,
jq '{transactions: [.[0] | (.transactiondatajson|fromjson) ]}'
它创建了对象的事务数组,但是我不完全确定如何从
rawData
创建 .rawtransactiondata
嵌套对象如何最好地使用
jq
附加对象?
最佳答案
许多可能性之一:
.[]
| {transactions:
[(.transactiondatajson|fromjson)
+ {rawData: (.rawtransactiondata|fromjson)} ] }
关于json - 使用jq提取多个字段并新建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59725789/