Json 解析从Dir.glob获取的文件时出错

Json 解析从Dir.glob获取的文件时出错,json,ruby,parsing,Json,Ruby,Parsing,我对ruby是新手。尝试使用JSON.parse()解析从Dir.glob命令获得的文件时出错 `parse':767:xyz/abc/config.json(json::ParserError)处的意外标记f只有路径,一个字符串。如果您想要文件的内容,您需要先读取它,data=JSON.parse(file.read(f))问题当然是文件xyz/abc/config.JSON包含无效的JSON。请仔细检查并发布该文件的内容。我也尝试过这样做,但在获取nil:NilClass(NoMethodE

我对ruby是新手。尝试使用JSON.parse()解析从Dir.glob命令获得的文件时出错


`parse':767:xyz/abc/config.json(json::ParserError)处的意外标记

f
只有路径,一个字符串。如果您想要文件的内容,您需要先读取它,
data=JSON.parse(file.read(f))

问题当然是文件
xyz/abc/config.JSON
包含无效的JSON。请仔细检查并发布该文件的内容。我也尝试过这样做,但在获取nil:NilClass(NoMethodError)的解析密钥未定义方法“[]”时出现错误。该文件可能包含“null”,在ruby中为nil。
require 'json'

Dir.glob('**/*/.json').each do |f| # find all the .json file and loop each file
  puts f
  data = JSON.parse(f)
  if data['Apple'].nil?
    puts "skipping file #{f} as it does not have Apple"
    next
  end
  parsed_key= File.dirname(data['Apple'][0]['red'][0]['key'])
  puts parsed_key
end