Ruby on rails ActiveModel::Serializer在rails控制台测试中未返回有效的JSON

Ruby on rails ActiveModel::Serializer在rails控制台测试中未返回有效的JSON,ruby-on-rails,json,serialization,Ruby On Rails,Json,Serialization,我对Rails比较陌生,这是我第一次使用ActiveModel:Serializer。我只是尝试设置一个简单的序列化程序,并在rails控制台中测试它,然后再继续。它似乎在使用序列化程序,但没有返回有效的JSON格式。根据我的指导(我是一名学生),我似乎应该收到JSON。在过去的几个小时里,我一直在研究,但一切似乎都不相关或超出了我的头脑 我的用户模型: class User < ActiveRecord::Base # User has attributes: first_nam

我对Rails比较陌生,这是我第一次使用ActiveModel:Serializer。我只是尝试设置一个简单的序列化程序,并在rails控制台中测试它,然后再继续。它似乎在使用序列化程序,但没有返回有效的JSON格式。根据我的指导(我是一名学生),我似乎应该收到JSON。在过去的几个小时里,我一直在研究,但一切似乎都不相关或超出了我的头脑

我的用户模型:

class User < ActiveRecord::Base
    # User has attributes: first_name, last_name, email, password
    has_many :lists

    def full_name
        first_name + " " + last_name
    end
end
控制台返回:

=> {"user"=>{:id=>1, :full_name=>"Jane Doe", :email=>"test@fake.com"}}

as_json
构造一个Ruby哈希,该哈希随后可由序列化库“序列化”(转换为字符串)

请尝试调用
以_json
。此方法将返回可解析的字符串

>> User.create(first_name: "Jane", last_name: "Doe", email: "test@fake.com")
>> UserSerializer.new(User.first).to_json

=> "{\"user\":{\"id\":1,\"full_name\":\"Jane Doe\",\"email\":\"test@fake.com\"}}"
使用
JSON.parse
将字符串反序列化回哈希:

>> JSON.parse({"user"=>{:id=>1, :full_name=>"Jane Doe", :email=>"test@fake.com"}}.to_json)
=> {"user"=>{"id"=>1, "full_name"=>"Jane Doe", "email"=>"test@fake.com"}}

as_json
构造一个Ruby哈希,该哈希随后可由序列化库“序列化”(转换为字符串)

请尝试调用
以_json
。此方法将返回可解析的字符串

>> User.create(first_name: "Jane", last_name: "Doe", email: "test@fake.com")
>> UserSerializer.new(User.first).to_json

=> "{\"user\":{\"id\":1,\"full_name\":\"Jane Doe\",\"email\":\"test@fake.com\"}}"
使用
JSON.parse
将字符串反序列化回哈希:

>> JSON.parse({"user"=>{:id=>1, :full_name=>"Jane Doe", :email=>"test@fake.com"}}.to_json)
=> {"user"=>{"id"=>1, "full_name"=>"Jane Doe", "email"=>"test@fake.com"}}