public void DeserializeByteArrayWithTypeNameHandling() { TestObject test = new TestObject("Test", new byte[] { 72, 63, 62, 71, 92, 55 }); string json = JsonConvert.SerializeObject(test, Formatting.Indented, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }); JObject o = JObject.Parse(json); JsonSerializer serializer = new JsonSerializer(); serializer.TypeNameHandling = TypeNameHandling.All; using (JsonReader nodeReader = o.CreateReader()) { // Get exception here TestObject newObject = (TestObject)serializer.Deserialize(nodeReader); Assert.Equal("Test", newObject.Name); Assert.Equal(new byte[] { 72, 63, 62, 71, 92, 55 }, newObject.Data); } }
public void DeserializeByteArrayWithTypeNameHandling() { TestObject test = new TestObject("Test", new byte[] { 72, 63, 62, 71, 92, 55 }); JsonSerializer serializer = new JsonSerializer(); serializer.TypeNameHandling = TypeNameHandling.All; byte[] objectBytes; using (MemoryStream bsonStream = new MemoryStream()) using (JsonWriter bsonWriter = new BsonWriter(bsonStream)) { serializer.Serialize(bsonWriter, test); bsonWriter.Flush(); objectBytes = bsonStream.ToArray(); } using (MemoryStream bsonStream = new MemoryStream(objectBytes)) using (JsonReader bsonReader = new BsonReader(bsonStream)) { // Get exception here TestObject newObject = (TestObject)serializer.Deserialize(bsonReader); Assert.Equal("Test", newObject.Name); Assert.Equal(new byte[] { 72, 63, 62, 71, 92, 55 }, newObject.Data); } }