public static Object Deserialize(String json, Type objectType, JsonSettings settings = null) { using (var buffer = new JsonBufferWriter(BufferSize)) { buffer.Write(json); var reader = new JsonReader(buffer.Sequence, settings ?? JsonSettings.Default); return(reader.ReadValue(objectType)); } }
public static void Populate(String json, Object target, JsonSettings settings = null) { using (var buffer = new JsonBufferWriter(BufferSize)) { buffer.Write(json); var reader = new JsonReader(buffer.Sequence, settings ?? JsonSettings.Default); reader.Populate(target); } }
public async Task UseAfterDisposeShouldThrow() { var buffer = new JsonBufferWriter(); buffer.Write("123456789"); Assert.Equal("123456789", buffer.ToString()); buffer.Dispose(); Assert.Throws <ObjectDisposedException>(() => buffer.GetSpan()); Assert.Throws <ObjectDisposedException>(() => buffer.GetMemory()); Assert.Throws <ObjectDisposedException>(() => buffer.ToArray()); Assert.Throws <ObjectDisposedException>(() => buffer.CopyTo(Stream.Null)); Assert.Throws <ObjectDisposedException>(() => buffer.Write("123")); await Assert.ThrowsAsync <ObjectDisposedException>(() => buffer.CopyToAsync(Stream.Null)); // These should never throw Assert.Equal(String.Empty, buffer.ToString()); Assert.Equal(0, buffer.Sequence.Length); }