From f281c2e146d6aab826d4c25087077b8b90e9085e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Christophe=20Beaupr=C3=A9?= Date: Fri, 14 Nov 2014 17:08:26 -0500 Subject: [PATCH] json_serialization: Use `to_json` to escape characters. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jean-Christophe Beaupré --- lib/json_serialization.nit | 11 ++--------- tests/sav/nitserial_args1.res | 2 -- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/lib/json_serialization.nit b/lib/json_serialization.nit index c77ecc0..f090b24 100644 --- a/lib/json_serialization.nit +++ b/lib/json_serialization.nit @@ -197,18 +197,11 @@ redef class Bool end redef class Char - redef fun serialize_to_json(v) do v.stream.write "\{\"__kind\": \"char\", \"__val\": \"{to_s.to_json_s}\"\}" + redef fun serialize_to_json(v) do v.stream.write "\{\"__kind\": \"char\", \"__val\": {to_s.to_json}\}" end redef class String - redef fun serialize_to_json(v) do v.stream.write("\"{to_json_s}\"") - - private fun to_json_s: String do return self.replace("\\", "\\\\"). - replace("\"", "\\\"").replace("/", "\\/"). - replace("\n", "\\n").replace("\r", "\\r").replace("\t", "\\t") - # FIXME add support for unicode char when supported by Nit strings - # FIXME add support for \f! # .replace("\f", "\\f") - # FIXME add support for \b .replace("\b", "\\b") + redef fun serialize_to_json(v) do v.stream.write(to_json) end redef class NativeString diff --git a/tests/sav/nitserial_args1.res b/tests/sav/nitserial_args1.res index 2ebbe38..e95605c 100644 --- a/tests/sav/nitserial_args1.res +++ b/tests/sav/nitserial_args1.res @@ -12,8 +12,6 @@ redef class Deserializer if name == "Array[Serializable]" then return new Array[Serializable].from_deserializer(self) if name == "Array[String]" then return new Array[String].from_deserializer(self) if name == "Array[Object]" then return new Array[Object].from_deserializer(self) - if name == "Array[Match]" then return new Array[Match].from_deserializer(self) - if name == "Array[FlatBuffer]" then return new Array[FlatBuffer].from_deserializer(self) return super end end -- 1.7.9.5