admin
发布于 2024-11-07 / 27 阅读
0
0

linux下面通过jq工具命令行解析json

测试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'


评论