json - 使用jq提取多个字段并新建对象

标签 json transform jq

我有这个特殊的 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/

相关文章:

java - 在 Spring Boot 中忽略未映射到对象中的 json POJO 字段

python - 计算 Matplotlib 文本旋转

html - 使用 CSS 转换时可选择的一半 div

json - 如何使用 JQ 将对象列表展开为非规范化对象?

android - 使用 GSON 解析多个对象

ios - 如何构建特定格式的 JSON 字符串?

html - 无法理解此 CSS 代码

json - 将 JSON 哈希中的数组元素替换为其他文件中的内容

json - JQ - 如何从键中删除引号

json - Chrome "SyntaxError: Unexpected token :"与简单的 JSON