转储JSON对象的首选方法是什么?to_json,JSON.generate还是JSON.dump?

lin*_*ndy 11 ruby json

我需要将一个哈希对象转储到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}"
Run Code Online (Sandbox Code Playgroud)

Ama*_*dan 8

来自docs:

JSON.generate仅允许将对象或数组转换为JSON语法.to_json但是,它接受许多Ruby类,即使它只作为序列化的方法

[ JSON.dumps]是Marshal和YAML的加载/转储接口实现的一部分.

如果给出了anIO(IO类似对象或响应write方法的对象),则会将生成的JSON写入其中.