public override IConfigurationCollection <TElement> ReadJson(global::Newtonsoft.Json.JsonReader reader, Type objectType, [AllowNull] IConfigurationCollection <TElement> existingValue, bool hasExistingValue, global::Newtonsoft.Json.JsonSerializer serializer) { throw new NotImplementedException(); }
public override void WriteJson(global::Newtonsoft.Json.JsonWriter writer, [AllowNull] IConfigurationCollection <TElement> value, global::Newtonsoft.Json.JsonSerializer serializer) { if (ReferenceEquals(value, null)) { writer.WriteNull(); return; } writer.WriteStartArray(); foreach (var item in value) { if (ReferenceEquals(value, null)) { writer.WriteNull(); } else { serializer.Serialize(writer, item); } } writer.WriteEndArray(); }
/// <summary> /// Reads the JSON representation of the object. /// </summary> /// <param name = "reader">The <see cref = "T:Newtonsoft.Json.JsonReader"/> to read from.</param> /// <param name = "objectType">Type of the object.</param> /// <param name = "existingValue">The existing value of object being read.</param> /// <param name = "serializer">The calling serializer.</param> /// <returns> /// The object value. /// </returns> public override object ReadJson(JsonReader reader, Type objectType, object existingValue, global::Newtonsoft.Json.JsonSerializer serializer) { object target = null; if (reader.TokenType != JsonToken.Null) { JObject jObject = JObject.Load(reader); var session = new Session(); serializer.Populate(jObject.CreateReader(), session); if (jObject[Session.SCHEME_KEY] != null) { var authenticationScheme = jObject[Session.SCHEME_KEY].ToObject <AuthenticationScheme>(); if (TypeUtil.TryGetTypeForAuthenticationScheme(authenticationScheme, out var authenticationType)) { session.Authentication = (Authentication)Activator.CreateInstance(authenticationType); if (jObject[Session.AUTHENTICATION_KEY] != null) { serializer.Populate(jObject[Session.AUTHENTICATION_KEY].CreateReader(), session.Authentication); } } } target = session; } return(target); }
public override void WriteJson(JsonWriter writer, object value, global::Newtonsoft.Json.JsonSerializer serializer) { throw new NotImplementedException(); }
public override void WriteJson(global::Newtonsoft.Json.JsonWriter writer, [AllowNull] IConfigurationDictionary <TElement> value, global::Newtonsoft.Json.JsonSerializer serializer) { if (ReferenceEquals(value, null)) { writer.WriteNull(); return; } writer.WriteStartObject(); foreach (var item in value) { writer.WritePropertyName(item.Key); serializer.Serialize(writer, item.Value); } writer.WriteEndObject(); }
public override void WriteJson(global::Newtonsoft.Json.JsonWriter writer, PackageIdentifier value, global::Newtonsoft.Json.JsonSerializer serializer) { if (writer is null) { throw new global::System.ArgumentNullException(nameof(writer)); } if (value is null) { throw new global::System.ArgumentNullException(nameof(value)); } if (serializer is null) { throw new global::System.ArgumentNullException(nameof(serializer)); } serializer.Serialize(writer, value._value); }
/// <summary> /// Initializes a new instance of the <see cref="NewtonsoftJsonSerializer"/> class. /// </summary> /// <param name="serializer">The serializer.</param> public NewtonsoftJsonSerializer(global::Newtonsoft.Json.JsonSerializer serializer) { _serializer = serializer; }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, global::Newtonsoft.Json.JsonSerializer serializer) { byte[] bytes = null; if (reader.TokenType == JsonToken.StartObject) { reader.Read(); if (reader.TokenType == JsonToken.PropertyName && reader.Value?.ToString() == "_placeholder") { reader.Read(); if (reader.TokenType == JsonToken.Boolean && (bool)reader.Value) { reader.Read(); if (reader.TokenType == JsonToken.PropertyName && reader.Value?.ToString() == "num") { reader.Read(); if (reader.Value != null) { if (int.TryParse(reader.Value.ToString(), out int num)) { bytes = Bytes[num]; reader.Read(); } } } } } } return(bytes); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, global::Newtonsoft.Json.JsonSerializer serializer) { object target = null; if (reader.TokenType != JsonToken.Null) { // Initialize and populate the initial object target = Activator.CreateInstance(objectType); var jObject = JObject.Load(reader); serializer.Populate(jObject.CreateReader(), target); // Check if the 'type' property is present to the JSON JToken mediaTypeJToken; if (jObject.TryGetValue(DocumentContainer.TYPE_KEY, out mediaTypeJToken)) { // Find the document property var documentProperty = objectType .GetProperties(BindingFlags.Public | BindingFlags.Instance) .First(p => p.PropertyType == typeof(Document)); var documentPropertyName = documentProperty.Name.ToCamelCase(); var mediaType = mediaTypeJToken.ToObject <MediaType>(); // Create the document instance var document = jObject[documentPropertyName].ToDocument(mediaType, serializer); documentProperty.SetValue(target, document); } } return(target); }
/// <summary> /// Initializes a new instance of the <see cref="NewtonsoftJsonSerializer"/> class. /// </summary> /// <param name="serializer">The serializer.</param> public NewtonsoftJsonSerializer(global::Newtonsoft.Json.JsonSerializer serializer) { ContentType = "application/json"; _serializer = serializer; }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, global::Newtonsoft.Json.JsonSerializer serializer) { if (objectType.IsAbstract) { // The serialization is made by the container class (Message or Command) return(null); } var instance = Activator.CreateInstance(objectType); serializer.Populate(reader, instance); return(instance); }
public DocumentJsonConverter(JsonSerializerSettings settings) { _alternativeSerializer = global::Newtonsoft.Json.JsonSerializer.Create(settings); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, global::Newtonsoft.Json.JsonSerializer serializer) { var instance = new DocumentCollection(); var jObject = JObject.Load(reader); if (jObject[DocumentCollection.ITEM_TYPE_KEY] != null) { instance.ItemType = jObject[DocumentCollection.ITEM_TYPE_KEY].ToObject <MediaType>(); } if (jObject[DocumentCollection.ITEMS_KEY] != null && instance.ItemType != null) { var items = jObject[DocumentCollection.ITEMS_KEY]; if (items.Type == JTokenType.Array) { var itemsArray = (JArray)items; instance.Items = new Document[itemsArray.Count]; for (var i = 0; i < itemsArray.Count; i++) { instance.Items[i] = itemsArray[i].ToDocument(instance.ItemType, serializer); } } } if (jObject[DocumentCollection.TOTAL_KEY] != null) { instance.Total = jObject[DocumentCollection.TOTAL_KEY].ToObject <int>(); } return(instance); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, global::Newtonsoft.Json.JsonSerializer serializer) { // The serialization is handled by the container class return(null); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, global::Newtonsoft.Json.JsonSerializer serializer) { if (reader.TokenType == JsonToken.String) { var tokenValue = reader.Value.ToString(); return(CreateInstance(tokenValue)); } else { return(null); } }