public override object ReadJson()

in src/PSDocs/Common/JsonConverters.cs [155:175]


        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            if (reader.TokenType != JsonToken.StartObject && reader.TokenType != JsonToken.StartArray)
                throw new PipelineSerializationException(PSDocsResources.ReadJsonFailed);

            var result = new List<PSObject>();
            var isArray = reader.TokenType == JsonToken.StartArray;

            if (isArray)
                reader.Read();

            while (reader.TokenType != JsonToken.None && (!isArray || (isArray && reader.TokenType != JsonToken.EndArray)))
            {
                var value = ReadObject(reader: reader);
                result.Add(value);

                // Consume the EndObject token
                reader.Read();
            }
            return result.ToArray();
        }