我有一些通过HTTP发送到API的类,我需要将所有属性(包括nils)导出到json。
我有一个这样的课程:
class Customer
JSON.mapping(
id: UInt32 | Nil,
name: String | Nil,
email: String | Nil,
token: String
)
def initialize @token
end
end
当我创建客户的实例并导出到json时,我会检索到意外的结果。
c = Customer.new "FULANITO_DE_COPAS"
puts c.to_json
# Outputs
{"token":"FULANITO_DE_COPAS"}
# I expect
{"id":null,"name":null,"email":null,"token":"FULANITO_DE_COPAS"}
如何强制 to_json 功能完全导出porperties类?
答案 0 :(得分:4)
使用emit_null
:
class Customer
JSON.mapping(
id: {type: UInt32?, emit_null: true},
name: {type: String?, emit_null: true},
email: {type: String?, emit_null: true},
token: String
)
def initialize(@token)
end
end
c = Customer.new "FULANITO_DE_COPAS"
c.to_json #=> {"id":null,"name":null,"email":null,"token":"FULANITO_DE_COPAS"}