2017-08-29 62 views
0

我已经尝试了很多方法和谷歌搜索,但到处都是我得到同样的出路,使用json gem来解析JSON文件。我如何通过纯粹的Ruby代码解析JSON文件没有gem

JSON.parse(string) 

和链接夫妇也使用相同的 stackoverflow Link

我希望通过纯Ruby代码,而无需使用任何宝石或轨道有助于实现这一目标。

+0

请有一个链接[点击这里]一看(https://stackoverflow.com/a/11430924/5922155) – Asmita

+0

@asmitakalena我已经连接一个这样的链接,虽然感谢您的及时回复 –

回答

5

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

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

如果你正在寻找写自己的JSON解析器(好运气),但一定要记住,从文件中读取时,它只是一个字符串。所以,从你的文件开始阅读

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

在这一点上,你需要标记你阅读的内容,并开始挑选每一位。阅读json规范。

+0

谢谢但我是新手你可以请帮忙写这个。并从侧面+1为您的答案 –

+0

对不起,我实际上不能。编写json解析器不应该由新手完成,因为它很难。只需使用stdlib JSON即可。 'require“json”'然后'JSON.parse(json_string)'。 – jeremywoertink

+0

我更新了关于如何使用标准库从文件解析json的示例。就像我说的,使用JSON.parse是纯粹的ruby,而不是外部的宝石。 – jeremywoertink

1

JSON是Ruby核心库的一部分(截至1.9.3我相信)。你只需要要求它在你的Ruby应用程序/文件

require 'json' 

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

谢谢,现在我可以开始了 –