[Fix] DataContractJsonSerializer fails serializing/deserializing collections
[mono.git] / mcs / class / System.ServiceModel.Web / System.Runtime.Serialization.Json / JsonSerializationWriter.cs
index 217b6b16c0f595c1f22d4b15d1edaf8cf097bafb..9ccf447e5bf927c49f9d28a133f3208254b409e6 100644 (file)
@@ -137,9 +137,9 @@ namespace System.Runtime.Serialization.Json
                                                writer.WriteEndElement ();
                                                writer.WriteEndElement ();
                                        }
-                               } else if (TypeMap.IsCollection (type)) { // array
+                               } else if (graph is Array || TypeMap.IsEnumerable (type)) {
                                        writer.WriteAttributeString ("type", "array");
-                                       foreach (object o in (ICollection) graph) {
+                                       foreach (object o in (IEnumerable) graph) {
                                                writer.WriteStartElement ("item");
                                                // when it is typed, then no need to output "__type"
                                                WriteObjectContent (o, false, !(graph is Array && type.GetElementType () != typeof (object)));