You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jq提取带转义反斜杠的嵌套JSON中keyTwo值并生成CSV

解析转义JSON字段并导出CSV

原始JSON数据

{
"getFeedFromMyTeam": [
    {
        "OpenedAt": 1693321311,
        "feedData": "{\"keyOne\":\"my_data_one\",\"keyTwo\":\"my_data_two\"}",
        "feedId": "123456789",
        "recipients": [
            {
                "receiverId": "johns",
                "receiverName": "John Smith"
            }
        ],
        "senderId": "janed",
        "senderName": "Jane Doe"
    }

],
"hasMore": true,
"paginationToken": "100"  
}

原有转换命令

cat my.json | jq -r '.getFeedFromMyTeam[] | .recipients[] as $t | [.OpenedAt,$t.receiverId,$t.receiverName,.senderId,.feedData] | @csv'

当前输出

1693321311,"johns","John Smith","janed","{""keyOne"":""my_data_one"",""keyTwo"":""my_data_two""}"

期望输出

1693321311,"johns","John Smith","janed","my_data_two"

解决方案(仅用jq实现)

只需将原有命令中的.feedData替换为.feedData | fromjson | .keyTwo,即可解析转义的JSON字符串并提取指定字段值:

cat my.json | jq -r '.getFeedFromMyTeam[] | .recipients[] as $t | [.OpenedAt,$t.receiverId,$t.receiverName,.senderId, (.feedData | fromjson | .keyTwo)] | @csv'

验证结果

执行上述命令后,输出将与期望完全一致:

1693321311,"johns","John Smith","janed","my_data_two"

内容的提问来源于stack exchange,提问作者dzafer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 23:51:23