示例#1
0
        internal MemoryStream SerializeStream(object entity, Formatting?formatting = null, bool ignoreNulls = false)
        {
            var _formatting = formatting ?? (_PrettyPrint ? Indented : None);
            var serializer  = ignoreNulls ? SerializerIgnoreNulls : Serializer;
            var stream      = new MemoryStream();

            using (var swr = new StreamWriter(stream, UTF8, 1024, true))
                using (var jwr = new RESTarJsonWriter(swr, 0))
                {
                    jwr.Formatting = _formatting;
                    serializer.Serialize(jwr, entity);
                }
            return(stream);
        }
示例#2
0
        /// <inheritdoc />
        public ulong SerializeCollection <T>(IEnumerable <T> entities, Stream stream, IRequest request = null) where T : class
        {
            if (entities == null)
            {
                return(0);
            }
            var formatter = request?.MetaConditions.Formatter ?? DbOutputFormat.Default;

            using (var swr = new StreamWriter(stream, UTF8, 2048, true))
                using (var jwr = new RESTarJsonWriter(swr, formatter.StartIndent))
                {
                    jwr.Formatting = _PrettyPrint ? Indented : None;
                    swr.Write(formatter.Pre);
                    Serializer.Serialize(jwr, entities);
                    swr.Write(formatter.Post);
                    return(jwr.ObjectsWritten);
                }
        }