to_json の出力でフィールド値を null から "" に変更するにはどうすればよいですか?
現在復帰しています
{"name":"priya","mobile":null}
代わりに私が欲しい
{"name":"priya","mobile":""}
また
{"name":"priya","mobile":"NA"}
提案してください
to_json の出力でフィールド値を null から "" に変更するにはどうすればよいですか?
現在復帰しています
{"name":"priya","mobile":null}
代わりに私が欲しい
{"name":"priya","mobile":""}
また
{"name":"priya","mobile":"NA"}
提案してください
s = {"name" => "pryia", "mobile" => nil}
Hash[*s.map{|k, v| [k, v || "NA"]}.flatten]
# => "name"=>"pryia", "mobile"=>"NA"}
Hash[*s.map{|k, v| [k, v || "NA"]}.flatten].to_json
# => "{\"name\":\"pryia\",\"mobile\":\"NA\"}"
philee の回答に追加するには、モデルに as_json メソッドを追加できます。
def as_json(opts={})
json = super(opts)
Hash[*json.map{|k, v| [k, v || "NA"]}.flatten]
end