Ejemplo n.º 1
0
        public static void Serialize <T>(T objectToSerialize, Stream jsonOutput, SerializationContext context)
        {
            if (jsonOutput == null)
            {
                throw new ArgumentNullException("jsonOutput");
            }
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            if (!jsonOutput.CanWrite)
            {
                throw JsonSerializationException.StreamIsNotWriteable();
            }


            if (objectToSerialize == null)
            {
                var bytes = context.Encoding.GetBytes("null");
                jsonOutput.Write(bytes, 0, bytes.Length);
                return;
            }

            var writer = new JsonStreamWriter(jsonOutput, context);

            writer.WriteValue(objectToSerialize, typeof(T));
            writer.Flush();
        }
Ejemplo n.º 2
0
        public JsonStreamWriter(Stream stream, SerializationContext context) : base(context)
        {
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }
            if (!stream.CanWrite)
            {
                throw JsonSerializationException.StreamIsNotWriteable();
            }


            writer = new StreamWriter(stream, context.Encoding);
        }