private static void WriteValue(JSONWriter writer, object obj) { if (obj == null) writer.WriteNull(); if (obj is System.String) writer.WriteValue((string) obj); if (obj is System.Boolean) writer.WriteValue((bool) obj); if (obj is System.Double) writer.WriteValue(Convert.ToDouble(obj)); if (obj is System.Int32) writer.WriteValue(Convert.ToInt32(obj)); if (obj is System.Int64) writer.WriteValue(Convert.ToInt64(obj)); if (obj is ArrayList) { writer.WriteStartArray(); foreach (object val in ((ArrayList) obj)) WriteValue(writer, val); writer.WriteEndArray(); } if (obj is string[]) { writer.WriteStartArray(); foreach (string val in ((string[]) obj)) WriteValue(writer, val); writer.WriteEndArray(); } if (obj is NameValueCollection) { writer.WriteStartObject(); string[] keys = GetReversedKeys(obj); foreach (string key in keys) { writer.WritePropertyName(key); WriteValue(writer, ((NameValueCollection) obj)[key]); } writer.WriteEndObject(); } if (obj is Hashtable) { writer.WriteStartObject(); string[] keys = GetReversedKeys(obj); foreach (string key in keys) { writer.WritePropertyName((string) key); WriteValue(writer, ((Hashtable) obj)[key]); } writer.WriteEndObject(); } }
private static void WriteValue(JSONWriter writer, object obj) { if (obj == null) { writer.WriteNull(); } if (obj is System.String) { writer.WriteValue((string)obj); } if (obj is System.Boolean) { writer.WriteValue((bool)obj); } if (obj is System.Double) { writer.WriteValue(Convert.ToDouble(obj)); } if (obj is System.Int32) { writer.WriteValue(Convert.ToInt32(obj)); } if (obj is System.Int64) { writer.WriteValue(Convert.ToInt64(obj)); } if (obj is ArrayList) { writer.WriteStartArray(); foreach (object val in ((ArrayList)obj)) { WriteValue(writer, val); } writer.WriteEndArray(); } if (obj is string[]) { writer.WriteStartArray(); foreach (string val in ((string[])obj)) { WriteValue(writer, val); } writer.WriteEndArray(); } if (obj is NameValueCollection) { writer.WriteStartObject(); string[] keys = GetReversedKeys(obj); foreach (string key in keys) { writer.WritePropertyName(key); WriteValue(writer, ((NameValueCollection)obj)[key]); } writer.WriteEndObject(); } if (obj is Hashtable) { writer.WriteStartObject(); string[] keys = GetReversedKeys(obj); foreach (string key in keys) { writer.WritePropertyName((string)key); WriteValue(writer, ((Hashtable)obj)[key]); } writer.WriteEndObject(); } }