diff --git a/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py b/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py index 604322549..42d01577c 100644 --- a/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py +++ b/airbyte_cdk/sources/file_based/stream/default_file_based_stream.py @@ -356,7 +356,10 @@ def _fill_nulls(schema: Mapping[str, Any]) -> Mapping[str, Any]: if "null" not in v: schema[k] = ["null"] + v elif v != "null": - schema[k] = ["null", v] + if isinstance(v, (str, list)): + schema[k] = ["null", v] + else: + DefaultFileBasedStream._fill_nulls(v) else: DefaultFileBasedStream._fill_nulls(v) elif isinstance(schema, list):