json - 如何让 jq 保留 bigint 值?

标签 json integer jq bigint arbitrary-precision

我有一个很大的 JSON 文件,其中包含带有完整值的 bigint —— 不像 JavaScript 默认喜欢做的那样四舍五入。
我们有一个解决方法来处理 Node.js 中的 bigint,但我正在尝试使用 jq(命令行工具)来清理我们的数据。
然而,当我在我们的 JSON 文件上运行 jq 时,它舍入了我们所有的 bigint。
有没有办法使用 jq 使其不舍入 bigint,或者是否有另一种命令行工具可以在 Mac 上运行,我可以改用?

最佳答案

截至目前,关于 JSON 数字的最佳 jq 是“主”版本,它很好地保留了外部数值。更新是在 2019 年 10 月 22 日左右进行的,jq 的“主”版本似乎与最新版本 (jq 1.6) 一样安全。
使用最近的“主”版本的示例:

    jqMaster -n -M '
    [0000,
     10000000000000000000000000000000000000012, 
     1.0000000000000000000000000000000000000012, 
     1000000000000000000000000000000000000001210000000000000000000000000000000000000012,
     0.1e123456]'
输出
[
  0,
  10000000000000000000000000000000000000012,
  1.0000000000000000000000000000000000000012,
  1000000000000000000000000000000000000001210000000000000000000000000000000000000012,
  1E+123455
]

关于json - 如何让 jq 保留 bigint 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63018852/

相关文章:

ruby-on-rails - 使用 jbuilder 在父文件夹中呈现特定部分

php - Android,从服务器获取数据

java - 输入整数时,整数不会保存在 SQL 中

java - JSONObject ["name"] 不是字符串

javascript - 使用 javascript 将 yaml 转换为 json

c# - 更改整数位

php - 如何将(大)整数映射到(小尺寸(带有 PHP 的字母数字字符串?(Cantor?)

amazon-web-services - 筛选具有特定端口和 IP ACL 的安全组的 AWS CLI 输出

json - Jq:如何将子成员移动到父成员?

json - JQ 选择存在内键的对象