【问题标题】:JQ filtering and map basic: removing null values and transforming text to lowercaseJQ 过滤和映射基本:删除空值并将文本转换为小写
【发布时间】:2018-06-20 06:42:19
【问题描述】:

示例输入:

  [{
    "self": "link",
    "id": "18900",
    "name": "AUDI",
    "releaseDate": "2015-12-11"
  },
  {
    "self": "link",
    "id": "18900",
    "name": "FORD",
    "releaseDate": "2015-12-11"
  }]

样本输出:

  [{
    "self": "link",
    "id": "18900",
    "name": "audi",
    "releaseDate": "2015-12-11"
  }]

如何在脚本中编写一行简单的代码来将名称字段更改为小写值并过滤掉 id 和 releaseDate 为空的对象?

谢谢。

【问题讨论】:

  • releaseDateid 在您的输入样本中都不是 null。请提供一个有意义的例子。
  • 顺便说一句,到目前为止你做了什么代码,你的问题是什么?

标签: json bash unix jq


【解决方案1】:

您的示例似乎与您声明的要求不一致,但以下将选择 .id 和 .releaseDate 均为非空的对象,并将 .name 值中的 ASCII 字母字符转换为小写:

map(select(.id and .releaseDate) | .name |= ascii_downcase)

您可以轻松修改选择标准。

【讨论】:

    【解决方案2】:

    您需要 java 实现或任何其他语言?

    【讨论】:

    • 请不要将问题作为答案发布。无论如何,标题都写着jq
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 2013-12-02
    • 1970-01-01
    相关资源
    最近更新 更多