Parsing multiple JSON requests in Ruby
我正在尝试解析ruby中的多个json对象。
1 2 3 4 5 6 | def processKey(key) obj = getJSONData(key) puts"got log:" + obj.to_s +" " @data = JSON.parse(obj) end |
我可以看到每次从getJSONData获取的obj是正确的,但是JSON.parse继续返回它解析的第一个对象
例如:
1 2 3 | for key1 -> getJSONData(key1) returns obj1 -> JSON.parse(obj1) returns hash1 for key2 -> getJSONData(key2) returns obj2 -> JSON.parse(obj2) returns hash1 for key3 -> getJSONData(key3) returns obj3 -> JSON.parse(obj3) returns hash1 |
为什么? 查看http://www.ruby-doc.org/stdlib-1.9.3/libdoc/json/rdoc/JSON.html和stackoverflow示例我没有注意到清理JSON内存或需要其他方法的方法exmaples。
关于JSON.parse,我做错了什么?
作为一个说明,我在轨道1.9.3上使用红宝石
-谢谢,
尼汝
在我的代码中发现了错误。 我不小心将数据保留为@data,因为我做了一些重构,这是不正确的。 我的方法中的正确代码应该是:
1 2 3 4 5 | def processKey(key) obj = getJSONData(key) data = JSON.parse(obj) return data end |
因为@data不应该是一个实例变量,所以不应该这样声明。
-谢谢,
尼汝