gpt4 book ai didi

Ruby 解析 JSON 不打印结果

转载 作者:太空宇宙 更新时间:2023-11-03 15:59:34 25 4
gpt4 key购买 nike

我正在将文件 input.json 解析为这样的哈希

input_object = JSON.parse(File.read('input.json'))

当我在 irb 中或运行 ruby script.rb 中运行脚本时,我运行它的终端开始打印对象。这通常不会成为问题,但 input.json 是一个大文件,可能需要 10 到 20 分钟才能打印出来。有什么方法可以让我默默地做到这一点?

更新:即使使用 irb_context.echo = false,它也会打印。这意味着设置 input_object = 对象不会被打印。

最佳答案

Ruby 显示结果,这就是 IRB 打印 json 的原因。

有一个典型的 Ruby IRB 习惯用法来附加任何短项,如下所示:

input_object = JSON.parse(File.read('input.json')); 0

附加的 0 使 IRB 打印 0 而不是长 json。

对于您的脚本,它可能正在打印 JSON,因为 JSON 解析器遇到错误,而您看到的是一条异常调试消息。

尝试包装解析:

begin
input_object = JSON.parse(File.read('input.json'))
rescue
raise "JSON parse error!"
end

它仍然打印 JSON 吗?

如果是这样,请尝试使脚本可执行:

  1. 将脚本的第一行设为:

    #!/usr/bin/env ruby
  2. 最后一行这样写:

    exit 0
  3. 让它可执行:

    chmod u+x script.rb
  4. 运行它:

    ./script.rb

它仍然打印 JSON 吗?

关于Ruby 解析 JSON 不打印结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28443758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com