【发布时间】:2013-08-27 00:03:54
【问题描述】:
我正在尝试在 ruby 中解析多个 json 对象。
def processKey(key)
obj = getJSONData(key)
puts "got log: " + obj.to_s + "\n"
@data = JSON.parse(obj)
end
我可以看到我从 getJSONData 获得的 obj 每次都是正确的,但是 JSON.parse 继续返回它解析的第一个对象
例如:
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 内存的方法或需要其他示例。
关于 JSON.parse,我做错了什么? 作为说明,我在 rail 1.9.3 上使用 ruby -谢谢, 尼鲁
【问题讨论】:
-
JSON 不记得传入的数据,所以问题出在您的代码中。我们需要查看更多代码。向我们展示您传入的
key值的定义。同时向我们展示getJSONData。我们不能用你给我们的那一点点来重复这个问题。 -
很遗憾,我无法发布代码 getJSONData。我唯一可以验证的是每次调用该函数都会返回正确的 json 输出。此外,该函数实际上只有那 3 行代码,并且函数中没有引用全局/类变量。谢谢,我确实想确认 JSON 不记得传入的数据。
标签: ruby-on-rails ruby json