From 3cd16e3650f5f03765704b27700d4c3d37781a01 Mon Sep 17 00:00:00 2001 From: SONIC3D Date: Sun, 5 May 2013 02:27:42 +0800 Subject: [PATCH] Added:Serialization/Deserialization support for long(Int64) type. Added:Serialization/Deserialization support for float type. --- src/LitJson/JsonMapper.cs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/LitJson/JsonMapper.cs b/src/LitJson/JsonMapper.cs index 4c1a036..c5936b0 100644 --- a/src/LitJson/JsonMapper.cs +++ b/src/LitJson/JsonMapper.cs @@ -591,6 +591,18 @@ private static void RegisterBaseExporters () delegate (object obj, JsonWriter writer) { writer.Write ((ulong) obj); }; + + base_exporters_table[typeof(float)] = + delegate(object obj, JsonWriter writer) + { + writer.Write(Convert.ToDouble ((float) obj)); + }; + + base_exporters_table[typeof(Int64)] = + delegate(object obj, JsonWriter writer) + { + writer.Write((Int64) obj); + }; } private static void RegisterBaseImporters () @@ -651,6 +663,12 @@ private static void RegisterBaseImporters () RegisterImporter (base_importers_table, typeof (double), typeof (decimal), importer); + importer = delegate(object input) + { + return Convert.ToSingle((float)(double)input); + }; + RegisterImporter (base_importers_table, typeof (double), + typeof(float), importer); importer = delegate (object input) { return Convert.ToUInt32 ((long) input); @@ -669,6 +687,12 @@ private static void RegisterBaseImporters () }; RegisterImporter (base_importers_table, typeof (string), typeof (DateTime), importer); + + importer = delegate(object input) { + return Convert.ToInt64 ((Int32)input); + }; + RegisterImporter (base_importers_table, typeof (Int32), + typeof(Int64), importer); } private static void RegisterImporter (