|
СериализаторXDTO: как добавить свой элемент? |
☑ |
0
evorle145
13.02.24
✎
16:36
|
Подскажите, как добавить в ответ, например, количество элементов массива МассивJSON?
МассивJSON = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
МассивJSON.Добавить(ВыборкаДетальныеЗаписи.ССылка.ПолучитьОбъект());
КонецЦикла;
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, МассивJSON);
Результат = ЗаписьJSON.Закрыть();
Ответ.УстановитьТелоИзСтроки(Результат);
Ответ.Заголовки.Вставить("Content-type", "application/json");
Возврат Ответ;
Получается в ответ уходит массив элементов со всеми полями. А мне надо как-то передать еще информацию, сколько всего элементов передано (МассивJSON.количество())?
|
|
1
NcSteel
13.02.24
✎
16:59
|
МассивJSON.Добавить(МассивJSON.Количество())
ДОбавить перед "ЗаписатьJSON"
Так?
|
|
2
evorle145
13.02.24
✎
17:12
|
(1) да, формально так работает, но он находится в том же массиве, а надо как доп элемент...
|
|
3
AlexeyKh
13.02.24
✎
17:39
|
да куча вариантов, например
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
лкДанные = Новый Структура("Массив, Количество",
МассивJSON, МассивJSON.Количество());
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, лкДанные );
|
|
4
Волшебник
13.02.24
✎
17:51
|
Количество лучше передавать в начале
|
|
5
evorle145
13.02.24
✎
19:09
|
(3) точно.... чет я затупил. Благодарю!
|
|
6
evorle145
13.02.24
✎
19:10
|
(4) понял.. но тут скорее как скажет принимающая сторона..
|
|
7
Волшебник
13.02.24
✎
21:05
|
(6) Если принимающая сторона будет заранее знать количество элементов, то можно реализовать последовательное чтение с индикатором прогресса для пользователя. Если надо, конечно
|
|