Ruby中as_json和to_json方法的区别

时间:2016-07-11 08:05:15

标签: ruby-on-rails ruby

两种方法as_jsonto_json之间的区别是什么。它们一样吗?如果不是它们之间的区别是什么?

2 个答案:

答案 0 :(得分:37)

as_json返回模型对象的哈希表示,而to_json返回一个json对象。

注意:在内部,当您在模型/序列化器上调用to_json方法时,首先调用as_json。

你可以read more here

答案 1 :(得分:31)

to_json返回String。 as_json使用字符串键返回Hash。

> { :name => "Konata Izumi", 'age' => 16, 1 => 2 }.to_json
"{\"name\":\"Konata Izumi\",\"age\":16,\"1\":2}"

> { :name => "Konata Izumi", 'age' => 16, 1 => 2 }.as_json
{"name"=>"Konata Izumi", "age"=>16, "1"=>2}