Ruby中as_json和to_json方法的区别

Gow*_*nan 35 ruby ruby-on-rails

什么是两种方法之间的差异as_jsonto_json.它们一样吗?如果没有,它们之间有什么区别?

ore*_*uwa 49

as_json返回模型对象的哈希表示,同时to_json返回json对象.

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

你可以在这里阅读更多


Shi*_*Kim 42

to_json返回String. as_json使用String键返回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}
Run Code Online (Sandbox Code Playgroud)

  • 这才是真正的答案 (4认同)