我有以下结构:
a = { 'x' => [1,2,3] }
在带有 ruby 1.8 的 Rails 3.0 中,向 JSON 的转换按预期工作:
a.to_json
=> "{\"x\":[1,2,3]}"
在带有 ruby 1.9.3p125 的 Rails 3.1 中,数组被转换为 hash :
a.to_json
=> "{\"x\":{\"1\":null,\"2\":null,\"3\":null}}"
我找不到任何解释两个版本之间行为差异的文档,也找不到任何方法来保留 Rails 3.1 中的预期输出。有什么线索吗?