测试json数据结构
{
"code": 0,
"data": {
"list": [
{
"_id": "64a2b7b191ebf2932fd9949d",
"channel": "",
"channel_id": "",
"company_count": 0,
"customer_type": "all",
"duty": "XXXXXXXXXXX",
"effective_date": 1690732800000,
"effective_date_type": "custom",
"email": "XXXXX@xxxx.com",
"expert_user_name": "xxxxx",
"expiry_date": 30,
"file_id": "",
"forbidden_reason": "",
"is_forbidden": 0,
"job_number": "18341",
"moa_remind": false,
"name": "xxxxxxx",
"online_status": 2,
"role": "649d80b3bf3ebcaa8cbd520c",
"role_code": null,
"role_name": "YYYYYYYY",
"service_group_list": [
"6012dc52161bca56ddc4db03"
],
"service_group_name_list": [
"SSSSSSSSSSSSSSSSSSSSSSS"
],
"totp_bind_status": 0,
"url": "/xx/v1/xx/xx?xx="
},
]
}
}
这里整合了日常使用到的场景,提取data->list->具体的字段以及嵌套list元素
160 cat /mnt/d/workspace/online/20240104/3.txt |jq -r '.data.list[] | "\(.job_number)\t\(.name)\t\(.service_group_name_list[0])\t\(.company_count)\t\(.role_name)\t\(.expert_user_name)\t\(.is_forbidden)"' > /mnt/d/20240104_3.txt
管道的使用
265 cat p1.txt |jq '.data.list| .[] |{"name":.name,"job_number":.job_number,"email":.email,"count":.company_count,"role":.role_list} | .role |.[].role_name'