【问题标题】:Failed to load file in my ruby code无法在我的 ruby​​ 代码中加载文件
【发布时间】:2016-09-03 15:33:45
【问题描述】:

我写了一个简单的 Ruby 脚本,它加载一个 json 数据文件。项目文件夹结构如下:

projectFolder/
      -- script.rb
      -- data.json

data.json 如下所示:

{
        "company": {
                "name": "ABC",
                "address": "X street"
        }
}

script.rb 如下所示:

require 'json'

data = JSON.load(File.read('data.json'))
name = data['company']['name']

当我通过命令ruby script.rb 运行我的脚本时,我收到以下错误:

script.rb:3:in `read': No such file or directory @ rb_sysopen - data.json (Errno::ENOENT)

为什么我的 ruby​​ 脚本找不到要加载的 data.json 文件?

【问题讨论】:

    标签: ruby


    【解决方案1】:

    尝试使用parse 而不是load,因为 JSON.parse 是读取字符串的。

    data = JSON.parse(File.read('data.json'))
    

    我上次做这个:

      file = File.read('./data.json')
      @data = JSON.parse(file)
    

    尝试阅读'./data.json' 而不是'data.json'

    【讨论】:

    • 它有效,实际上,我的文件名中有错字。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2017-06-17
    • 2014-10-09
    相关资源
    最近更新 更多