Author: atsushi
Date: 2008-01-23 23:56:50 -0500 (Wed, 23 Jan 2008)
New Revision: 93764
Modified:
trunk/olive/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/ChangeLog
trunk/olive/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/DataContractJsonSerializer.cs
Log:
2008-01-24 Atsushi Enomoto <[EMAIL PROTECTED]>
* DataContractJsonSerializer.cs : Uri and Guid are serialized as
string. XmlQualifiedName is serialized as local:ns.
Modified:
trunk/olive/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/ChangeLog
===================================================================
---
trunk/olive/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/ChangeLog
2008-01-24 03:55:40 UTC (rev 93763)
+++
trunk/olive/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/ChangeLog
2008-01-24 04:56:50 UTC (rev 93764)
@@ -1,3 +1,8 @@
+2008-01-24 Atsushi Enomoto <[EMAIL PROTECTED]>
+
+ * DataContractJsonSerializer.cs : Uri and Guid are serialized as
+ string. XmlQualifiedName is serialized as local:ns.
+
2008-01-22 Atsushi Enomoto <[EMAIL PROTECTED]>
* JsonWriter.cs : allow __type attribute. It required couple of
Modified:
trunk/olive/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/DataContractJsonSerializer.cs
===================================================================
---
trunk/olive/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/DataContractJsonSerializer.cs
2008-01-24 03:55:40 UTC (rev 93763)
+++
trunk/olive/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/DataContractJsonSerializer.cs
2008-01-24 04:56:50 UTC (rev 93764)
@@ -275,7 +275,7 @@
switch (Type.GetTypeCode (graph.GetType ())) {
case TypeCode.String:
- writer.WriteString ((string) graph);
+ writer.WriteString (graph.ToString ());
break;
case TypeCode.Single:
case TypeCode.Double:
@@ -305,7 +305,16 @@
writer.WriteString ("false");
break;
default:
- if (graph is ICollection) { // array
+ if (graph is Guid) {
+ goto case TypeCode.String;
+ } else if (graph is Uri) {
+ goto case TypeCode.String;
+ } else if (graph is XmlQualifiedName) {
+ XmlQualifiedName qn =
(XmlQualifiedName) graph;
+ writer.WriteString (qn.Name);
+ writer.WriteString (":");
+ writer.WriteString (qn.Namespace);
+ } else if (graph is ICollection) { // array
writer.WriteAttributeString ("type",
"array");
foreach (object o in (ICollection)
graph) {
writer.WriteStartElement
("item");
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches