public void ObjectInPlace() { var result = new ObjectWithProperties_Class(); var serializer = new JsonSerializer(); serializer.DeserializeInto(ref result, "{\"A\": 1, \"B\": 2, \"C\": 3}"); Assert.IsInstanceOfType(result, typeof(ObjectWithProperties_Class)); Assert.AreEqual(1, result.A); Assert.AreEqual(2, result.B); Assert.AreEqual(3, result.C); }
protected override object DeserializeIntoInternal(JsonReader reader, object target) { if (_serializerReader != null) { return(_serializerReader.DeserializeInto(reader, target.GetType(), target, false)); } else { return(_serializer.DeserializeInto(reader, target)); } }
public void DeserializeInPlace() { var result = new ObjectWithProperties_Class(); var serializer = new JsonSerializer(); using (var stream = new MemoryStream()) using (var writer = new StreamWriter(stream)) { writer.Write("{\"A\": 1, \"B\": 2, \"C\": 3}"); writer.Flush(); stream.Position = 0; serializer.DeserializeInto(ref result, stream); Assert.IsInstanceOfType(result, typeof(ObjectWithProperties_Class)); Assert.AreEqual(1, result.A); Assert.AreEqual(2, result.B); Assert.AreEqual(3, result.C); } }
/// <summary> /// Deserializes the data into the object from the json reader. /// </summary> /// <param name="jsonReader">The json reader</param> /// <param name="target">The target object to deserialize the data into</param> /// <returns>The populated target object</returns> public object DeserializeInto(JsonReader jsonReader, object target) { return(jsonSerializer.DeserializeInto(jsonReader, target)); }