Ejemplo n.º 1
0
        /// <inheritdoc />
        public async Task Serialize <TSerializableType>(Stream stream, TSerializableType serializable, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();
            await SystemTextJsonSerializer.SerializeAsync(stream, serializable, options, cancellationToken);

            stream.Position = 0;
        }
Ejemplo n.º 2
0
        public void SerializeJSON(IEnumerable <Factory> factories, string fileName) //работает
        {
            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }

            using (FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate))
            {
                var options = new JsonSerializerOptions {
                    IncludeFields = true
                };
                JsonSerializer.SerializeAsync <List <Factory> >(fs, factories.ToList(), options).Wait();
            }
        }
Ejemplo n.º 3
0
        public async Task <string> SerializeRequest(BaseRequest request, Type requestType, HttpDataSerializerOptions options = null)
        {
            var opts = TextJsonSerializerSettings.CreateJsonSerializerOptions(options, _debugMode);

            using (var stream = new MemoryStream())
            {
                await JsonSerializer.SerializeAsync(stream, request, requestType, opts);

                stream.Position = 0;

                using (var reader = new StreamReader(stream))
                {
                    var result = await reader.ReadToEndAsync();

                    return(result);
                }
            }
        }
Ejemplo n.º 4
0
        private static async Task NetCore3JsonTest()
        {
#if PRINT_BREAKDOWN
            var swSerialize   = new Stopwatch();
            var swDeserialize = new Stopwatch();
#endif
            var jsonSerializerOptions = new JsonSerializerOptions {
                IgnoreNullValues = true
            };
            await using var stream = new MemoryStream();
            for (var i = 0; i < Loop; i++)
            {
#if PRINT_BREAKDOWN
                swSerialize.Start();
#endif
                await CoreJsonSerializer.SerializeAsync(stream, Source, jsonSerializerOptions);

#if PRINT_BREAKDOWN
                swSerialize.Stop();
#endif
                stream.Position = 0;
#if PRINT_BREAKDOWN
                swDeserialize.Start();
#endif
                var book = await CoreJsonSerializer.DeserializeAsync <Book>(stream);

#if PRINT_BREAKDOWN
                swDeserialize.Stop();
#endif
                stream.Position = 0;
                Trace.Assert(book.Title != null);
            }

#if PRINT_BREAKDOWN
            Console.WriteLine($"Serialize: {swSerialize.ElapsedMilliseconds / (double) Loop:F3} ms/op, Deserialize: {swDeserialize.ElapsedMilliseconds / (double) Loop:F3} ms/op");
#endif
        }