You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何选取值为空字符串或仅含空格字符串的所有JSON路径

获取JSON中空字符串或仅含空格值的键路径

原始JSON数据:

{
   "key0" : null,
   "key"  : 1010,
   "key1" : "",
   "key2" : "  ",
   "key3" : {
    "key4" : "   ",
    "key5" : "test"
   }
}

当前使用的jq表达式仅能匹配空字符串:

path(..|select(. == ""))

要扩展为匹配空字符串或仅含空格的字符串,可使用jq的test()函数结合正则^\s*$,修改后的表达式如下:

path(..|select(type == "string" and test("^\\s*$")))

说明

  • type == "string":先筛选出字符串类型的值,避免null、数字等非字符串类型被误判
  • test("^\\s*$"):正则^\s*$会匹配空字符串,或仅包含任意数量空白字符(空格、制表符、换行符等)的字符串;jq中正则的反斜杠需要转义为\\

执行该表达式后,会返回所有符合条件的键路径:

["key1"]
["key2"]
["key3","key4"]

内容的提问来源于stack exchange,提问作者Santhosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:37:03