考虑以下情形从缓存弦作曲JSON,我有想象中的那么我需要把一个数组,然后将其转换成JSON几大散列:红宝石
hash1 = { ... big hash ... }
hash2 = { ... big hash ... }
hash3 = { ... big hash ... }
array = [hash1, hash2, hash3]
json = JSON.dump(array)
的问题是,产生JSON从这些哈希需要很长时间,所以我想缓存它。但是,我无法缓存整个数组,只有单独的项目。显然,把缓存JSON字符串数组中给出了不好的结果:
hash1 = {:a => 1}
hash1json = JSON.dump(hash1)
array = [hash1json]
JSON.generate(array)
==> ["{\"a\":1}"]
,而我需要
==> [{"a":1}]
我能想到的唯一的办法就是做这样的事情:
"[#{[hash1json].join(",")}]"
==> [{"a":1}]
可能对于这种特定的情况已经足够了,但如果想要缓存一些深层结构而不是简单的数组,那将会更困难。
我用JSON.dump检查了我之前的回答,但没有奏效 - 对不起! – 2013-03-07 20:13:38