public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WritePropertyName("coordinates"); List<List<Coordinate[]>> coordinatesss = value as List<List<Coordinate[]>>; if (coordinatesss != null) { WriteJsonCoordinatesEnumerable2(writer, coordinatesss, serializer); return; } List<Coordinate[]> coordinatess = value as List<Coordinate[]>; if (coordinatess != null) { WriteJsonCoordinatesEnumerable(writer, coordinatess, serializer); return; } IEnumerable<Coordinate> coordinates = value as IEnumerable<Coordinate>; if (coordinates != null) { WriteJsonCoordinates(writer, coordinates, serializer); return; } Coordinate coordinate = value as Coordinate; if (coordinate != null) { WriteJsonCoordinate(writer, coordinate, serializer); return; } }
public bool TryWriteFeature(JsonWriter writer, object value, JsonSerializer serializer) { if (!_shapeConverter.CanConvert(ObjectType.Feature)) return false; ObjectType geomType = _shapeConverter.GetObjectType(value); if (geomType != ObjectType.Feature) return false; writer.WriteStartObject(); writer.WritePropertyName("type"); writer.WriteValue(Enum.GetName(typeof(ObjectType), ObjectType.Feature)); object id; Dictionary<string, object> props; var geometry = _shapeConverter.FromFeature(value, out id, out props); if (id != null) { writer.WritePropertyName("id"); serializer.Serialize(writer, id); } if (props != null && props.Count > 0) { writer.WritePropertyName("properties"); serializer.Serialize(writer, props); } writer.WritePropertyName("geometry"); serializer.Serialize(writer, geometry); writer.WriteEndObject(); return true; }
/// <summary> /// Writes the JSON representation of the object. /// </summary> /// <param name="writer">The <see cref="T:Raven.Imports.Newtonsoft.Json.JsonWriter"/> to write to.</param> /// <param name="value">The value.</param> /// <param name="serializer">The calling serializer.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if(value == null) writer.WriteNull(); else writer.WriteValue(value.ToString()); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if(value is DateTime) { var dateTime = ((DateTime)value); if (dateTime.Kind == DateTimeKind.Unspecified) dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Local); var postFix = dateTime.Kind == DateTimeKind.Utc ? "Z" : ""; writer.WriteValue(dateTime.ToString(Default.DateTimeFormatsToWrite + postFix, CultureInfo.InvariantCulture)); } else if (value is DateTimeOffset) { var dateTimeOffset = ((DateTimeOffset) value); if(dateTimeOffset.Offset==TimeSpan.Zero) { writer.WriteValue(dateTimeOffset.UtcDateTime.ToString(Default.DateTimeFormatsToWrite, CultureInfo.InvariantCulture) + "Z"); } else { writer.WriteValue(dateTimeOffset.ToString(Default.DateTimeOffsetFormatsToWrite, CultureInfo.InvariantCulture)); } } else throw new ArgumentException(string.Format("Not idea how to process argument: '{0}'", value)); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var collection = (NameValueCollection)value; writer.WriteStartObject(); foreach (var key in collection.AllKeys) { writer.WritePropertyName(key); var values = collection.GetValues(key); if (values == null) { writer.WriteNull(); continue; } if (values.Length == 1) { writer.WriteValue(values[0]); } else { writer.WriteStartArray(); foreach (var item in values) { writer.WriteValue(item); } writer.WriteEndArray(); } } writer.WriteEndObject(); }
/// <summary> /// Writes the JSON representation of the object. /// </summary> /// <param name="writer">The <see cref="T:Raven.Imports.Newtonsoft.Json.JsonWriter"/> to write to.</param> /// <param name="value">The value.</param> /// <param name="serializer">The calling serializer.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null) { writer.WriteNull(); return; } if (value.GetType() == typeof (object)) { writer.WriteStartObject(); writer.WriteEndObject(); return; } var dynamicValue = ((IDynamicMetaObjectProvider) value).GetMetaObject(Expression.Constant(value)); writer.WriteStartObject(); foreach (var dynamicMemberName in dynamicValue.GetDynamicMemberNames()) { writer.WritePropertyName(dynamicMemberName); var memberValue = DynamicUtil.GetValueDynamically(value, dynamicMemberName); if(memberValue == null || memberValue is ValueType || memberValue is string) writer.WriteValue(memberValue); else serializer.Serialize(writer, memberValue); } writer.WriteEndObject(); }
private static void WriteJsonCoordinatesEnumerable2(JsonWriter writer, List<List<Coordinate[]>> coordinates, JsonSerializer serializer) { writer.WriteStartArray(); foreach (List<Coordinate[]> coordinate in coordinates) WriteJsonCoordinatesEnumerable(writer, coordinate, serializer); writer.WriteEndArray(); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null) writer.WriteValue((object)null); else writer.WriteValue(_wktWriter.Write(value)); }
private static void WriteJsonCoordinates(JsonWriter writer, IEnumerable<Coordinate> coordinates, JsonSerializer serializer) { writer.WriteStartArray(); foreach (Coordinate coordinate in coordinates) WriteJsonCoordinate(writer, coordinate, serializer); writer.WriteEndArray(); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (TryWriteGeo(writer, value, serializer)) return; base.WriteJson(writer, value, serializer); }
/// <summary> /// Writes the JSON representation of the object. /// </summary> /// <remarks>This will enumerate the Linq-To-Entities query before serializing it to json array</remarks> /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param> /// <param name="value">The value.</param> /// <param name="serializer">The calling serializer.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var enumerable = (IEnumerable) value; writer.WriteStartArray(); foreach(var item in enumerable) writer.WriteValue(item); writer.WriteEndArray(); }
private void WriteArray(JsonWriter writer, object value) { writer.WriteStartArray(); var array = value as IEnumerable<object>; foreach (var o in array) { this.WriteValue(writer, o); } writer.WriteEndArray(); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var etag = value as Etag; if (etag == null) writer.WriteNull(); else writer.WriteValue(etag.ToString()); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var slice = (Slice) value; var buffer = new byte[slice.Count]; Buffer.BlockCopy(slice.Array, slice.Offset, buffer, 0, slice.Count); writer.WriteValue(buffer); writer.WriteComment(slice.DebugVal); }
private void WriteObject(JsonWriter writer, object value) { writer.WriteStartObject(); var obj = value as IDictionary<string, object>; foreach (var kvp in obj) { writer.WritePropertyName(kvp.Key); this.WriteValue(writer, kvp.Value); } writer.WriteEndObject(); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value is RavenJToken) ((RavenJToken)value).WriteTo(writer); else if(value is DynamicNullObject) writer.WriteNull(); else ((IDynamicJsonObject)value).WriteTo(writer); }
/// <summary> /// Writes the JSON representation of the object. /// </summary> /// <param name="writer">The <see cref="T:Raven.Imports.Newtonsoft.Json.JsonWriter"/> to write to.</param><param name="value">The value.</param><param name="serializer">The calling serializer.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var dts = (DateTimeOffset) value; new RavenJObject { {"DateTime", dts.DateTime}, {"Offset", dts.Offset.TotalMilliseconds} }.WriteTo(writer); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if(value == null) { writer.WriteNull(); return; } var f = (float)value; writer.WriteValue(EnsureDecimalPlace(f, f.ToString("R", CultureInfo.InvariantCulture))); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { System.Net.IPEndPoint ep = (System.Net.IPEndPoint)value; writer.WriteStartObject(); writer.WritePropertyName("Address"); serializer.Serialize(writer, ep.Address.ToString()); writer.WritePropertyName("Port"); writer.WriteValue(ep.Port); writer.WriteEndObject(); }
private void WriteModelMetaData(JsonWriter writer, Model.MetaData obj) { var t = obj.GetType(); var properties = t.GetProperties(); writer.WriteStartObject(); foreach (var property in properties) { writer.WritePropertyName(property.Name); writer.WriteValue(property.GetValue(obj)); } writer.WriteEndObject(); }
private static void WriteJsonCoordinate(JsonWriter writer, Coordinate coordinate, JsonSerializer serializer) { writer.WriteStartArray(); writer.WriteValue(coordinate.X); writer.WriteValue(coordinate.Y); if (!Double.IsNaN(coordinate.Z)) writer.WriteValue(coordinate.Z); writer.WriteEndArray(); }
public override void WriteTo(JsonWriter writer) { var dynamicJsonObject = parentDoc as IDynamicJsonObject; if (dynamicJsonObject != null) { dynamicJsonObject.WriteTo(writer); } else { base.WriteTo(writer); } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value is RavenJToken) ((RavenJToken)value).WriteTo(writer); #if !NET35 else if(value is DynamicNullObject) writer.WriteNull(); else ((IDynamicJsonObject)value).Inner.WriteTo(writer); #else throw new NotImplementedException(); #endif }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { Envelope envelope = value as Envelope; if (envelope == null) return; writer.WritePropertyName("bbox"); writer.WriteStartArray(); writer.WriteValue(envelope.MinX); writer.WriteValue(envelope.MinY); writer.WriteValue(envelope.MaxX); writer.WriteValue(envelope.MaxY); writer.WriteEndArray(); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { IGeometry geom = value as IGeometry; if (geom == null) return; writer.WriteStartObject(); GeoJsonObjectType geomType = this.ToGeoJsonObject(geom); writer.WritePropertyName("type"); writer.WriteValue(Enum.GetName(typeof(GeoJsonObjectType), geomType)); switch (geomType) { case GeoJsonObjectType.Point: serializer.Serialize(writer, geom.Coordinate); break; case GeoJsonObjectType.LineString: case GeoJsonObjectType.MultiPoint: serializer.Serialize(writer, geom.Coordinates); break; case GeoJsonObjectType.Polygon: IPolygon poly = geom as IPolygon; Debug.Assert(poly != null); serializer.Serialize(writer, PolygonCoordiantes(poly)); break; case GeoJsonObjectType.MultiPolygon: IMultiPolygon mpoly = geom as IMultiPolygon; Debug.Assert(mpoly != null); List<List<Coordinate[]>> list = new List<List<Coordinate[]>>(); foreach (IPolygon mempoly in mpoly.Geometries) list.Add(PolygonCoordiantes(mempoly)); serializer.Serialize(writer, list); break; case GeoJsonObjectType.GeometryCollection: IGeometryCollection gc = geom as IGeometryCollection; Debug.Assert(gc != null); serializer.Serialize(writer, gc.Geometries); break; default: List<Coordinate[]> coordinates = new List<Coordinate[]>(); foreach (IGeometry geometry in ((IGeometryCollection)geom).Geometries) coordinates.Add(geometry.Coordinates); serializer.Serialize(writer, coordinates); break; } writer.WriteEndObject(); }
private void WriteObject(JsonWriter writer, object value) { writer.WriteStartObject(); var obj = value as IDictionary<string, object>; foreach (var kvp in obj) { writer.WritePropertyName(kvp.Key); if (kvp.Value is Model.MetaData) { this.WriteModelMetaData(writer, kvp.Value as Model.MetaData); continue; } this.WriteValue(writer, kvp.Value); } writer.WriteEndObject(); }
private void WriteValue(JsonWriter writer, object value) { var tokenType = value == null ? JTokenType.Null : JToken.FromObject(value).Type; switch (tokenType) { case JTokenType.Object: this.WriteObject(writer, value); break; case JTokenType.Array: this.WriteArray(writer, value); break; default: writer.WriteValue(value); break; } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var referenceType = value is IDynamicProxy ? (value as IDynamicProxy).GetOriginalTypeBeforeDynamicProxy() : value.GetType(); var reference = new DenormalizedReference() { Id = string.Format(CultureInfo.InvariantCulture, "{0}", _documentConvention.GetIdentityProperty(referenceType).GetValue(value, null)), ReferenceInstanceType = referenceType }; serializer.Serialize(writer, reference); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if(value is DateTime) { var dateTime = ((DateTime)value); if (dateTime.Kind == DateTimeKind.Unspecified) dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Local); writer.WriteValue(dateTime.GetDefaultRavenFormat(dateTime.Kind == DateTimeKind.Utc)); } else if (value is DateTimeOffset) { var dateTimeOffset = ((DateTimeOffset) value); writer.WriteValue(dateTimeOffset.ToString(Default.DateTimeOffsetFormatsToWrite, CultureInfo.InvariantCulture)); } else throw new ArgumentException(string.Format("Not idea how to process argument: '{0}'", value)); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteStartArray(); foreach (object item in (IEnumerable) value) { writer.WriteStartObject(); writer.WritePropertyName("CrlType"); writer.WriteValue(item.GetType().AssemblyQualifiedName); writer.WritePropertyName("Value"); serializer.Serialize(writer, item); writer.WriteEndObject(); } writer.WriteEndArray(); }