diff --git a/Interfaces/Cosmos.DataTransfer.Common/DataItemJsonConverter.cs b/Interfaces/Cosmos.DataTransfer.Common/DataItemJsonConverter.cs index e258add..bc623d7 100644 --- a/Interfaces/Cosmos.DataTransfer.Common/DataItemJsonConverter.cs +++ b/Interfaces/Cosmos.DataTransfer.Common/DataItemJsonConverter.cs @@ -112,7 +112,15 @@ internal static void WriteFieldValue(Utf8JsonWriter writer, string fieldName, ob } else if (fieldValue is not string && fieldValue is IEnumerable children) { - writer.WriteStartArray(propertyName); + if (!string.IsNullOrWhiteSpace(propertyName.Value)) + { + writer.WriteStartArray(propertyName); + } + else + { + writer.WriteStartArray(); + } + foreach (object? arrayItem in children) { if (arrayItem is IDataItem arrayChild) @@ -125,6 +133,10 @@ internal static void WriteFieldValue(Utf8JsonWriter writer, string fieldName, ob var arrayDictItem = new DictionaryDataItem(arrayDict); WriteDataItem(writer, arrayDictItem, includeNullFields); } + else if (arrayItem is not string && arrayItem is IEnumerable childs) + { + WriteFieldValue(writer, "", childs, includeNullFields); + } else if (TryGetLong(arrayItem, out var longValue)) { writer.WriteNumberValue(longValue);