jq当项不存在时如何使用空串以代替null

假设json

{
  "a": "aa",
  "b": {
    "ba": "x"
  }
}

而我们访问:

$ jq -r '.c' $JSON 
null

输出一个null串,有些时候并不想要这个串,让它变成空串("")好了。

首先可以用if-then-else这样写:

$ jq -r 'if .a == null then "" else .a end' $JSON

或者

$ jq -r '.a | if . == null then "" else . end' $JSON

还可以用替换操作运算符(Alternative operator):

$ jq -r '.c // ""' $JSON

https://stedolan.github.io/jq/manual/#Alternativeoperator://

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容