【发布时间】:2018-09-28 00:25:00
【问题描述】:
(操作系统为 Windows 7 Professional。jq 为 1.5 版。)
我一直在使用 jq 来自动美化一些 JSON 文件(使用 Python)。在我看来,在尝试确定为什么 jq 在使用长度为 28 的文件路径字符串时静默失败,或者如果文件路径字符串长度为 29 或更长时停止工作,为什么它不起作用。
例如在cmd 上(值得指出的是,我做了一种快捷方式,以便jq 调用jq-win64.exe,并直接测试了后者,所以这不是问题的根源):
C:\jq>jq . 123456789012345678901234567
显示文件的美化内容;
C:\jq>jq . 1234567890123456789012345678
什么都不显示;和
C:\jq>jq . 12345678901234567890123456789
导致“jq-win64.exe 已停止工作”窗口。
(我还在文件夹中的 JSON 文件上对此进行了测试;共同点是输入字符串的长度为 28 或更长,包括斜线会失败。)
这是一个错误吗?如果不是,我能做些什么来解决它好吧,我承认这是一个愚蠢的问题,我可以通过将内容复制到基本文件夹中的临时文件来解决它,美化它,然后然后将其保存回我想要的任何位置。更重要的问题:这是我可以采用的最佳解决方法吗?
【问题讨论】:
-
幸运的是,它可以通过将您的输入输入 jq 来解决。正是输入文件的打开方式导致了 Windows 中的问题。
-
@JeffMercado - 谢谢,我更喜欢这个解决方案,而不是我想出的。