Array(User)#to_json
不起作用,因为
User
需要有
to_json(json : JSON::Builder)
方法(非
to_json
),就像
String has
:
require "json"
class User
property id : Int32?
property email : String?
property password : String?
def to_json(json : JSON::Builder)
json.object do
json.field "id", self.id
json.field "email", self.email
json.field "password", self.password
end
end
end
u = User.new.tap do |u|
u.id = 1
u.email = "test@email.com"
u.password = "****"
end
u.to_json #=> {"id":1,"email":"test@email.com","password":"****"}
[u, u].to_json #=> [{"id":1,"email":"test@email.com","password":"****"},{"id":1,"email":"test@email.com","password":"****"}]