Example #1
0
        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);
            }
        }
Example #2
0
        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));
            }
        }
Example #3
0
        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));
            }
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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);
        }
Example #6
0
 public BufferStreamReader(Int32 blockSize, ArrayPool <Byte> arrayPool)
 {
     m_buffer = new JsonBufferWriter(blockSize, arrayPool);
 }