module json_serialization
import serialization
-import simple_json_reader
+import json::static
class JsonSerializer
super Serializer
return value
end
- # char? TODO
+ # char?
+ if kind == "char" then
+ assert object.keys.has("__val")
+ var val = object["__val"]
+ assert val isa String
+
+ if val.length != 1 then print "Error: expected a single char when deserializing '{val}'."
+
+ return val.chars.first
+ end
print "Malformed Json string: unexpected Json Object kind '{kind}'"
abort
end
redef class Char
- redef fun serialize_to_json(v) do v.stream.write("'{to_s}'")
+ redef fun serialize_to_json(v) do v.stream.write "\{\"__kind\": \"char\", \"__val\": \"{to_s.to_json_s}\"\}"
end
redef class String