我需要轉儲一個哈希對象到JSON,我想知道這三個中的哪一個,to_json
,JSON.generate
或JSON.dump
,是實現它的首選方法。轉儲JSON對象的首選方式是什麼? to_json,JSON.generate或JSON.dump?
我測試這些方法的結果和它們是相同的:
> {a: 1, b: 2}.to_json
=> "{\"a\":1,\"b\":2}"
> JSON.generate({a: 1, b: 2})
=> "{\"a\":1,\"b\":2}"
> JSON.dump({a: 1, b: 2})
=> "{\"a\":1,\"b\":2}"
除了可選的文件參數和限制之外,我仍然沒有發現'generate'和'dumps'之間的任何主要區別。是嗎? – linkyndy
非常。正如文檔所說,'#dump'可以讓你像'serializer = [JSON,Marshal,YAML] [rand(3)]; serializer.dump(obj,io,limit)'。 (當然,更有用的方法是在配置文件中選擇串行器,例如,它比隨機選擇需要更多空間:P)。 – Amadan