我有一个包含多个 .json 文件的文件夹。某些文件带有空数组,示例文件:
{
"WarehouseActivity": []
}
除了上面显示的数据之外,该文件没有其他数据。
我需要识别这些文件并将它们移动到错误文件夹中。关于如何解决这个问题的任何建议都会很棒。
谢谢,凯文
我有一个包含多个 .json 文件的文件夹。某些文件带有空数组,示例文件:
{
"WarehouseActivity": []
}
除了上面显示的数据之外,该文件没有其他数据。
我需要识别这些文件并将它们移动到错误文件夹中。关于如何解决这个问题的任何建议都会很棒。
谢谢,凯文
这与 Roman 在他的 answer中采用的方法或多或少相同,但使用了不同的
jq
表达方式。该表达式
..|select(type == "array" and length == 0)
将递归完整的 JSON 结构并选择它的所有零长度数组位(任何位置,任何深度)。如果
select()
成功,则将jq
以零退出状态(成功)退出,这意味着 JSON 文档在某处包含一个空数组(或文件完全为空)。这会触发将文档移动到error_folder
脚本中。从下面的评论中可以清楚地看出,用户只对
WarehouseActivity
数组感兴趣。我的代码带有修改后的
jq
表达式:Jq
将是处理/分析JSON数据的正确工具: