【发布时间】:2017-10-23 12:37:32
【问题描述】:
我有一堂课:
class User
property id : Int32?
property email : String?
property password : String?
def to_json : String
JSON.build do |json|
json.object do
json.field "id", self.id
json.field "email", self.email
json.field "password", self.password
end
end
end
# other stuff
end
这适用于任何user.to_json。但是当我有Array(User) (users.to_json) 时,它会在编译时抛出这个错误:
在 /usr/local/Cellar/crystal-lang/0.23.1_3/src/json/to_json.cr:66: 没有 重载匹配 'User#to_json' 类型为 JSON::Builder 重载是: - 用户#to_json() - 对象#to_json(io : IO) - 对象#to_json()
each &.to_json(json)
Array(String)#to_json 工作正常,那为什么Array(User)#to_json 不能呢?
【问题讨论】:
标签: arrays json crystal-lang