jq filter-意外的“null”

时间:2018-04-10 11:49:12

标签: json jq

输入json:

{
  "id": 381,
  "name": "Module",
  "value": "C-A",
  "locked": false
}
{
  "id": 381,
  "name": "Module",
  "value": "",
  "locked": false
}
{
  "id": 381,
  "name": "Module",
  "value": "",
  "locked": false
}

我想删除所有值为unset ""的对象 我有这样的过滤器,但它也打印null - 如何摆脱它?

$ jq 'del(select(.value == ""))' /tmp/intest
{
  "id": 381,
  "name": "Module",
  "value": "C-A",
  "locked": false
}
null
null

更新: 我还想加入非空值但得到错误:

$ jq 'select(.value!="")|.value|join(",")' /tmp/intest
jq: error (at /tmp/intest:6): Cannot iterate over string ("C-A")

1 个答案:

答案 0 :(得分:3)

只需恢复逻辑:

if (camera != null) {
     Camera.Parameters params = camera.getParameters();                        
     params.setExposureCompensation(1500);
     camera.setParameters(params);
 }