【问题标题】:How I can parse JSON file by pure Ruby code without gem如何在没有 gem 的情况下通过纯 Ruby 代码解析 JSON 文件
【发布时间】:2018-02-07 05:48:56
【问题描述】:

我已经尝试了很多方法并在谷歌上搜索过,但无论我在哪里找到相同的方法,都使用 json gem 来解析 JSON 文件。

JSON.parse(string)

还有几个链接也使用相同的 stackoverflow Link

我想通过纯 Ruby 代码来实现它,而不使用任何 gem 或 rails 帮助。

【问题讨论】:

  • 请查看链接here
  • @asmitakalena 我已经附上了这样的链接,不过感谢您的及时回复

标签: ruby ruby-on-rails-4


【解决方案1】:

JSON 在标准库中,所以使用JSON.parse 是纯红宝石。

require "json"
json_from_file = File.read("myfile.json")
hash = JSON.parse(json_from_file)

或者只是JSON.parse("{}")

如果您想编写自己的 JSON 解析器(祝您好运),但请记住,从文件读取时它只是一个字符串。所以,首先从你的文件中读取它

File.open("myfile.json") do |f|
  str = f.gets
  # start parsing
end

此时,您需要对您阅读的内容进行标记,并开始分解每一位。阅读 json 规范。

【讨论】:

  • 谢谢,但我是新手,请你帮忙写这个。并从侧面为您的答案 +1
  • 对不起,我真的做不到。编写 json 解析器不应该由新手来完成,因为它非常困难。只需使用标准库 JSON。 require "json" 然后JSON.parse(json_string)
  • 我更新了关于如何使用标准库从文件中解析 json 的示例。就像我说的,使用 JSON.parse 是纯 ruby​​,而不是外部 gem。
  • 他的意思是:不必导入任何东西。
【解决方案2】:

JSON 是核心 Ruby 库的一部分(我相信从 1.9.3 开始)。你只需要在你的 ruby​​ 应用程序/文件中使用它

require 'json'

## Then you can use JSON
JSON.parse("{}")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    • 2012-03-23
    • 2019-11-16
    • 1970-01-01
    • 2018-06-02
    • 2015-11-30
    相关资源
    最近更新 更多