繁体   English   中英

如何使用 jq 从 json output 中提取某些字段?

[英]How to extract certain fields from json output using jq?

使用 jq,如何从下面的 json output 中提取主机、名称和 date_happened 字段? 我在stackoverflow上阅读了另一个关于此的线程,但似乎仍然无法理解。

-谢谢

{
    "events": [
        {
            "alert_type": "success",
            "children": [
                {
                    "alert_type": "error",
                    "date_happened": 1573502725,
                    "id": "5188183926379101887"
                },
                {
                    "alert_type": "success",
                    "date_happened": 1573503145,
                    "id": "5188190972457497744"
                }
            ],
            "comments": [],
            "date_happened": 1573502725,
            "device_name": null,
            "host": "i-0e4b192579a9b423b",
            "id": 5188183933173874377,
            "is_aggregate": true,
            "priority": "normal",
            "resource": "/api/v1/events/5188183933173874377",
            "source": "Monitor Alert",
            "tags": [
                "autoscaling_group:app2_backend-asg-prod",
                "availability-zone:us-east-1b",
                "datadog-agent:true",
                "environment:prod",
                "host:i-0e6b192579a9b423b",
                "iam_profile:app2_backend_instance_profile",
                "image:ami-2769055d",
                "instance-type:m4.large",
                "monitor",
                "name:app2_backend-prod",
                "region:us-east-1",
                "role:app2_backend",

jq 过滤器:

.events[]
| [.host, 
   (.tags[] | select( test("^name:") ) | sub("name:";"")),
   .date_happened]

生产

 ["i-0e4b192579a9b423b","app2_backend-prod",1573502725]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM