-1
我正在研究接收json文件(来自Flurry API)的Ruby代码并创建另一个json友好格式为“状态委员会”应用程序。当使用此JSON片段:Ruby:读取json文件获取`[]':无法将字符串转换为整数(TypeError)
"country":[{"@country":"US","day":[{"@date":"2013-09-20","@value":"1"},
{"@date":"2013-09- 23","@value":"1"}]},
{"@country":"KR","day":{"@date":"2013-09-20","@value":"1"}}
一切工作正常,但是当代码读“KR”,然后“天”(注意缺少“[]”),我收到以下错误:
- `[]':不能转换成字符串整数(类型错误)
我用于读取原始JSON文件中的代码是:
countries = response.parsed_response["country"]
countries.each do |datapoint|
countryName = datapoint["@country"]
days = datapoint["day"]
data = []
days.each do |datapoint2|
value = datapoint2["@value"]
date = Date.parse(datapoint2["@date"])
dateString = date.strftime(dateFormat)
data << { :title => dateString, :value => value }
end
dataSequences << { :title => countryName, :color => metric[:color], :datapoints => data
}
end
我在Ruby中是一种noob,所以...在读取json文件时可以添加括号以避免此错误?
哪条线是由你的错误指出的? 编辑:你可能将'String'实例传递给'Array#[]'方法。 –
错误在之后显示:“days.each do | datapoint2 |”。它没有阅读“@value”或“@date”(我都试过)。当我打印datapoint2时,它显示:{“@date”:“2013-09-20”,“@ value”:“1”} - >没有括号。 – Jesod