public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var pair = (SwaggerOperationsExtended)value; writer.WriteStartObject(); var count = pair.Keys.Count; for (var i = 0; i < count; i++) { var key = pair.Keys.ElementAt(i); var oVal = pair.Values.ElementAt(i); writer.WritePropertyName(key.ToString().ToLower()); var tokenReader = new JTokenReader(JToken.FromObject(oVal)); writer.WriteToken(tokenReader); } writer.WriteEndObject(); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var d = value as LazyDocument; if (d == null || d._Value == null) return; writer.WriteToken(d._Value.CreateReader()); }
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { try { _isWriting = true; // Operate on all identifiable Elements with a path less than Entities.xxxxx // This will get all properties. if (value is Element && writer.Path.Split('.').Length == 1 && !ElementwiseSerialization) { var ident = (Element)value; writer.WriteValue(ident.Id); } else { var jObject = Newtonsoft.Json.Linq.JObject.FromObject(value, serializer); if (jObject.ContainsKey(_discriminator)) { jObject[_discriminator] = value.GetType().FullName; } else { jObject.AddFirst(new Newtonsoft.Json.Linq.JProperty(_discriminator, value.GetType().FullName)); } writer.WriteToken(jObject.CreateReader()); } } finally { _isWriting = false; } }
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { try { _isWriting = true; // Operate on all identifiable Elements with a path less than Entities.xxxxx // This will get all properties. if (value is Element element && writer.Path.Split('.').Length == 1 && !ElementwiseSerialization) { var ident = element; writer.WriteValue(ident.Id); } else { var jObject = Newtonsoft.Json.Linq.JObject.FromObject(value, serializer); if (jObject.TryGetValue(_discriminator, out JToken token)) { ((JValue)token).Value = GetDiscriminatorName(value); } else { jObject.AddFirst(new Newtonsoft.Json.Linq.JProperty(_discriminator, GetDiscriminatorName(value))); } writer.WriteToken(jObject.CreateReader()); } }
/// <inheritdoc/> public override void WriteJson(JsonWriter writer, IPAddress value, JsonSerializer serializer) { if (value == null) { writer.WriteNull(); } else { writer.WriteToken(JsonToken.String, value.ToString()); } }
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { try { _isWriting = true; var jObject = Newtonsoft.Json.Linq.JObject.FromObject(value, serializer); writer.WriteToken(jObject.CreateReader()); } finally { _isWriting = false; } }
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { try { _isWriting = true; var jObject = Newtonsoft.Json.Linq.JObject.FromObject(value, serializer); // HACK //jObject.AddFirst(new Newtonsoft.Json.Linq.JProperty(_discriminator, value.GetType().Name)); writer.WriteToken(jObject.CreateReader()); } finally { _isWriting = false; } }
/// <summary> /// Write /// </summary> /// <param name="writer"></param> /// <param name="value"></param> /// <param name="serializer"></param> public override void WriteJson(JsonWriter writer, PhysicalAddress value, JsonSerializer serializer) { writer.WriteToken(JsonToken.String, value?.ToString() ?? string.Empty); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteToken(JsonToken.String, ((ThrowResult)value).ToString()); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value.GetType().BaseType == typeof(Array)) { writer.WriteStartArray(); foreach (object o in (Array)value) { writer.WriteStartObject(); try { string[] fields = (string[])GetPropValue(o, "fields"); foreach (string field in fields) { var prop = GetPropValue(o, field); if (prop != null) { writer.WritePropertyName(field); try { writer.WriteValue(prop); } catch (Exception exp1) { writer.WriteValue(JsonConvert.SerializeObject(prop)); } } } } catch (Exception exp) { } writer.WriteEndObject(); } writer.WriteEndArray(); } else { try { string[] fields = (string[])GetPropValue(value, "fields"); writer.WriteStartObject(); foreach (string field in fields) { var prop = GetPropValue(value, field); if (prop != null) { writer.WritePropertyName(field); try { writer.WriteValue(prop); } catch (Exception exp1) { writer.WriteValue(JsonConvert.SerializeObject(prop)); } } } writer.WriteEndObject(); } catch (Exception exp) { JToken j = JToken.FromObject(value); writer.WriteToken(j.CreateReader()); } } }
/// <summary>Writes the JSON representation of the object.</summary> /// <param name="writer">The <see cref="T: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 contract = serializer.ContractResolver.ResolveContract(value.GetType()); contract.Converter = null; var jObject = JObject.FromObject(value, serializer); jObject.AddFirst(new JProperty(_discriminator, value.GetType().Name)); writer.WriteToken(jObject.CreateReader()); contract.Converter = this; }
public override void WriteJson(JsonWriter w, object o, JsonSerializer s) { var result = ""; if (o is byte[]) { result += "data:application/octet-stream;base64,"; result += Convert.ToBase64String((byte[])o); } else if (o is string) { result += "data:text/plain;base64,"; result += Convert.ToBase64String(Encoding.UTF8.GetBytes((string)o)); } else if (o is Bitmap) { result += "data:image/png;base64,"; var bmp = (Bitmap) o; var stream = new MemoryStream(); bmp.Save(stream, ImageFormat.Png); result += Convert.ToBase64String(stream.GetBuffer()); } else { throw new NotImplementedException(); } w.WriteToken(JsonToken.String, result); }
/// <summary> /// Writes the JSON representation of the object. /// </summary> /// <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 v8Item = value as V8ScriptItem; var jsType = v8Item.GetJsType(); object outObj; if (jsType == JsTypes.jsError) { Dictionary<string, object> obj = new Dictionary<string, object>(); obj["message"] = v8Item.GetProperty("message") as string; obj["stack"] = v8Item.GetProperty("stack") as string; foreach (var pname in v8Item.GetPropertyNames()) { var item = v8Item.GetProperty(pname); if (ShouleSerialize(item, out outObj)) { obj[pname] = outObj; } } serializer.Serialize(writer, obj, obj.GetType()); } else if (jsType == JsTypes.JsObject || jsType == JsTypes.JsArray || jsType == JsTypes.jsArguments) { try { var json = v8Item.Engine.Script.JSON.stringify(v8Item); if (writer is JTokenWriter) { var tw = new StringReader(json); var jsonReader = new JsonTextReader(tw); writer.WriteToken(jsonReader); } else { writer.WriteRaw(json); } } catch (Exception) { throw; } } else if (jsType == JsTypes.JsDate) { var dateString = (string)v8Item.InvokeMethod("toISOString", new object[0]); DateTime dt = DateTime.Parse(dateString, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.RoundtripKind); serializer.Serialize(writer, dt, dt.GetType()); } else { writer.WriteNull(); } }