我有以下JSON输入:

{
  "paging": {
    "count": 0,
    "total": 0,
    "offset": 0,
    "max": 0
  },
  "executions": [
    {
      "id": 5,
      "href": "https://localhost.com.br",
      "permalink": "https://localhost.com.br",
      "status": "succeeded",
      "project": "PROJETO",
      "executionType": "scheduled",
      "date-started": {
        "unixtime": 1660793400012,
        "date": "2022-08-18T03:30:00Z"
      },
      "date-ended": {
        "unixtime": 1660793409694,
        "date": "2022-08-18T03:30:09Z"
      },
      "job": {
        "id": "cdkwednweoi-8745bjdf-kcjkjr8745",
        "averageDuration": 0,
        "name": "routine",
        "group": "",
        "project": "PROJECT",
        "description": "",
        "href": "https://localhost.com.br",
        "permalink": "https://localhost.com.br"
      },
      "description": "runner",
      "argstring": null,
      "serverUUID": "jdnsdnasldnaje382nf5ubv",
      "successfulNodes": [
        "84jsk937nf"
      ]
    }
  ]
}

首先,我想按属性名称 Select 一个array.然后我想通过属性yes的值 Select 数组中的一个对象.

输出中所需信息的示例:

  "href"
  "status"
  "project"

  "date-started": 
   "unixtime": 48298437239847,
   "date": "2022-07-17"

 "date-ended": 
   "unixtime": 48298437239847,
   "date": "2022-07-17"

  "job":
  "name": "cleaner"

我知道如何获得第一个值: Jq-r‘.Executions[]|[.href,.status,.project’]

但其他我不知道怎么做的,我试过了: JQ‘.Executions[]|WITH_ENTRIES(SELECT(.Value|Has("Date-Start")’

但这并不管用.

推荐答案

您的第一个查询将生成一个JSON数组,因此在此响应中,我假设它将按您指定的顺序生成一个包含8个感兴趣的值的array.

使用您的输入,以下调用将生成八个值,如下所示:

jq '.executions[]
  | [.href, .status, .project,
     (."date-started" | (.unixtime, .date)),
     (."date-ended" | (.unixtime, .date)),
     .job.name]' 

输出:

[
  "https://localhost.com.br/rundeck/api/40/execution/2340",
  "succeeded",
  "PROJETO",
  1660793400012,
  "2022-08-18T03:30:00Z",
  1660793409694,
  "2022-08-18T03:30:09Z",
  "proc_limpeza_saft"
]

Json相关问答推荐

从Json响应中为需要每个值的Post请求提取多个值

如何使用JQ有条件 Select 值

json 字符串到 Postgres 14 中的表视图

如何将一个对象添加到多个对象中 JOLT

如何使用SQLite Trigger将JSON对象数组转换为新记录?

Bicep脚本中如何设置弹性池的维护窗口?

使用 JQ 获取 JSON 中的替代元素(输出:JSON 对象)

如何在 JSonPath 中按值查找列表中的所有元素

使用带有逗号的字段名称构建 struct

Kotlin Android Room 处理 Moshi TypeConverter 中的空对象列表

如何删除 django jsonfield 中的特定项目

将嵌套的 JSON 对象规范化为 Pandas 数据框

如何使用 jackson 反序列化为 Kotlin 集合

以 JSON 格式访问(新型、公共)Google 工作表

如何找出实际安装了哪个版本的 bower 包?

Android JSON 库的性能和可用性比较

Jackson 动态属性名称

关于使用 $ref 的 JSON 模式

在 React 中访问子级的父级状态

可以在 SharedPreferences 中保存 JSON 数组吗?