Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有input_file:
input_file
{"hi":48.0, "yep":48.123}
我运行这个
jq . < input_file > output_file cat output_file
我的输出:
{ "yep": 48.123, "hi": 48 }
我希望输出是
{ "yep": 48.123, "hi": 48.0 }
如何防止 jq 自动将我的 double 值转换为 int?
jq 将数字解析为 C 双精度数。然后它将它们格式化为数字。这种转换在两个方面是有损的:a) 有很多方法可以表示相同的数字,但 jq 只使用一种,没有其他选择,b) C 双精度数有限。
关于这两个问题都有针对 jq 的问题。可能的解决方案是采用 bignum/bigfloat 方法,并保持通过未修改的数字的原始数字字符串(实际上;jq 将所有数据视为写入时复制)。但这还没有实现。