【发布时间】:2016-04-20 19:46:19
【问题描述】:
我有一个名为 Output.json 的文件:
[
{
"name": "krishna",
"service": "postman",
"host": "xxxxxx",
"doing": [],
"pool": "xxxxxx",
"roleType": "yyyyy",
"simple": true
}
]
这是我的 Test.rb 文件:
require 'rubygems'
require 'json'
require 'pp'
file = File.read('output.json')
data_hash= JSON.parse(file)
pp data_hash
当我尝试运行脚本时,我得到:
from /usr/lib/ruby/gems/1.8/gems/json-1.4.6/lib/json/common.rb:146:in `parse'
当我从 JSON 文件中调用名称时,如何打印值“krishna”。
【问题讨论】:
-
能否请您添加完整的错误消息。看来你错过了开始。
-
@Uzbekjon 它正在打印整个 json 文件,但最后它从 /usr/lib/ruby/gems/1.8/gems/json-1.4.6/lib/json/ 显示此错误common.rb:146:in `parse' from test.rb:9
-
parse是作为 c 扩展实现的,您知道您当前的 gem 是否针对您当前的 ruby 版本编译吗? -
欢迎来到 Stack Overflow。请阅读“How to Ask”和“minimal reproducible example”。您的 JSON 是有效的。您说文件名是“Output.json”,但代码显示您正在尝试读取“output.json”。如果文件是“Output.json”,则代码会有不同的错误。因为你的问题不能重复。此外,您标记了 Ruby 1.9.2 和 Ruby 1.8.7。你用的是哪个?你不应该使用它们,因为它们都非常过时。
标签: ruby rubygems ruby-1.9.2 ruby-1.8.7