Example #1
0
        /// <inheritdoc/>
        public override void Write(Utf8JsonWriter writer, List <ProcessingBlock> blocks, JsonSerializerOptions options)
        {
            var pbConverter = new ProcessingBlockConverter();

            writer.WriteStartArray();
            for (var i = 0; i < blocks.Count; ++i)
            {
                pbConverter.Write(writer, blocks[i], options);
            }
            writer.WriteEndArray();
        }
Example #2
0
        /// <inheritdoc/>
        public override List <ProcessingBlock> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
            //Note: Maybe we should add checks for each read.

            var pbConverter = new ProcessingBlockConverter();
            var res         = new List <ProcessingBlock>();

            _ = reader.Read(); // Read start array

            while (reader.TokenType != JsonTokenType.EndArray)
            {
                res.Add(pbConverter.Read(ref reader, typeof(ProcessingBlock), options));
                _ = reader.Read(); // Read the ',' and at last read the end array
            }

            return(res);
        }