当尝试使用
jq
缩小深度嵌套的 JSON 文件(~10k 深)时,出现解析错误:
$ jq -c . <input.json >minified.json
parse error: Exceeds depth limit for parsing at line 227263, column 355
如何增加深度限制?有命令行选项吗?我在手册页中找不到任何有关此内容的信息。
jj
,它完美地完成了这项工作,而且通常也可能更快,即使 jq
没有错误。
jj -u <input.json >minified.json
二进制文件可在:https://github.com/tidwall/jj/releases/latest或通过自制程序:
brew install tidwall/jj/jj
关于 C 实现,您必须在更改 jv_parse.c 中的 MAX_PARSING_DEPTH 后重新制作二进制文件,其中相关行当前为:
#define MAX_PARSING_DEPTH (256)
据我所知,将限制增加到非常大的数字似乎没有任何缺点。