Author: rtyler
Date: 2007-10-20 07:30:19 -0400 (Sat, 20 Oct 2007)
New Revision: 87847

Modified:
   
trunk/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs
Log:
Fix for handling Nullable types in JSON deserialization
        re #328836


Modified: 
trunk/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs
===================================================================
--- 
trunk/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs
       2007-10-20 04:04:17 UTC (rev 87846)
+++ 
trunk/mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JavaScriptSerializer.cs
       2007-10-20 11:30:19 UTC (rev 87847)
@@ -206,6 +206,18 @@
                        if (obj is IEnumerable<object>)
                                return ConvertToList ((IEnumerable<object>) 
obj, type);
 
+                       /*
+                        * Take care of the special case whereas in JSON an 
empty string ("") really means 
+                        * an empty value 
+                        * (see: 
https://bugzilla.novell.com/show_bug.cgi?id=328836)
+                        */
+                       if ( (type.IsGenericType) && 
(type.GetGenericTypeDefinition() == typeof(Nullable<>)) )
+                       {
+                               string s = obj as String;
+                               if (String.IsNullOrEmpty(s))
+                                               return null;
+                       }
+
                        if (type == null)
                                return obj;
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to