我正在尝试使用以下代码解析 ruby 中的 JSON 对象:
def parseUrls(mFile, dirname)
f = File.open(File.join(dirname, mFile), 'r')
mF = f.read
json = JSON.parse(mF)
commands = json["commands"]
#puts commands
commands.each do |url|
puts url
mUrl = url["#EXAMPLE_DOCUMENTATION_CALL"]["URL"]
puts mUrl
#mString = String.new(DMMSERVER)
#i = mString.count(DMMSERVER)
#mUrl = mString.insert(i, tUrl)
#puts mUrl
end
但我不断收到此错误:
TypeError: can't convert String into Integer
[] at org/jruby/RubyArray.java:1348
parseUrls at ./fileParser.rb:48
each at org/jruby/RubyHash.java:1181
parseUrls at ./fileParser.rb:45
sendServiceRequest at testmdxservices.rb:31
getFile at testmdxservices.rb:20
each at org/jruby/RubyArray.java:1620
getFile at testmdxservices.rb:17
(root) at testmdxservices.rb:39
使用这个 JSON:
"commands":{
"#EXAMPLE_DOCUMENTATION_CALL":{
"TYPE" : "this is the server set we are comunicating with. example DMM, WDPRO, GOREG, ONESOURCE..etc if you don't know what these are ask some one from the team or look at QUICNY",
"URL" : "the full url of the call that will be turned into an http header",
"METHOD": "this is a flag that tells the user what kind of call in http to make. 0 = post, 1 = get, 2 = postmulti See int/uie_HttpRequests.ent for complete",
"BODY": "this is the body of the http call depending on the call type this will change or not exist often with things that need to be filled in about it.",
"NOTE": "comment section for information about how to use or what to expect when making this call."
},
谁能告诉我我做错了什么以及如何解决?