我有一个非标准的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"
}
我正在try 使用以下命令将其转换为CSV文件:
cat my.json | jq -r '.getFeedFromMyTeam[] | .recipients[] as $t | [.OpenedAt,$t.receiverId,$t.receiverName,.senderId,.feedData] | @csv'
然而,一切都很好,而不是完整的".feed Data",它现在看起来像:
"{""keyOne"":""my_data_one"",""keyTwo"":""my_data_two""}"
我只想从"keyTwo"获取数据,即"my_data_Two"
现在是这样了:
1693321311,"johns","John Smith","janed","{""keyOne"":""my_data_one"",""keyTwo"":""my_data_two""}"
我想要获得:
1693321311,"johns","John Smith","janed","my_data_two"
理想情况下,我只想使用JQ,但如果不可能,那么也可以使用awk、sed等.