JQ过滤和映射基础:删除空值并将文本转换为小写

时间:2018-06-20 06:42:19

标签: json bash unix jq

样本输入:

  [{
    "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为空的对象?

谢谢。

2 个答案:

答案 0 :(得分:1)

您的示例似乎与您所说的要求不一致,但是下面的示例将选择.id和.releaseDate都不为空的对象,并将.name值中的ASCII字母字符转换为小写:< / p>

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

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

答案 1 :(得分:-3)

您需要Java工具或其他任何语言?