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 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 String Serialize <T>(T value, JsonFormat?format = null, JsonSettings settings = null) { using (var buffer = new JsonBufferWriter(BufferSize)) { var writer = new JsonWriter(buffer, settings ?? JsonSettings.Default); if (format != null) { writer.Format = format.Value; } writer.WriteValue(value); return(Constants.Encoding.GetString(buffer.Sequence)); } }
public void ToStringShouldReturnCorrectJson() { using (var buffer = new JsonBufferWriter()) { var obj = new { Name = "Tony Stark", Occupation = "Avenger", Planet = "Earth" }; new JsonWriter(buffer).WriteValue(obj); var json = buffer.ToString(); Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject(obj), json); } }
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); }
public BufferStreamReader(Int32 blockSize, ArrayPool <Byte> arrayPool) { m_buffer = new JsonBufferWriter(blockSize, arrayPool); }