Чтение JSON совмещать потоковое и объектное

1. fedor40 706 09.12.22 13:14 Сейчас в теме
В JSOM получаем Массив Массивов.

Можно ли при потоковом чтении глобального массива сразу целиком получать вложенные массивы, а не обходить их потоково?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VictorRGB2 14 09.12.22 13:34 Сейчас в теме
(1) если правильно понял вопрос, то возможно
НО при условии, что вам известно в какой позиции какие данные будут и эти позиции не меняются со временем

например имеем массив А (товар), в нем массивы Б (единицы измерения товара), В (цены товара) и Г (остатки товара)
точно знаем, где и что, точно знаем, что число массивов Б, В и Г всегда конечное и не меняется - можем всегда по индексу получить из А любой нас интересующий Б, В или Г
3. fedor40 706 09.12.22 13:47 Сейчас в теме
(2)
эти позиции не меняются со временем


Да. Но как считать массив целиком?

Везде примеры построчного чтения.

Пока тЧтение.Прочитать() Цикл
Сообщить("Тип текущего элемента " + тЧтение.ТипТекущегоЗначения);
6. VictorRGB2 14 09.12.22 13:54 Сейчас в теме
(3) а вот это уже никак ...
4. spacecraft 09.12.22 13:50 Сейчас в теме
(1) нет. Потоковое чтение не знает что там дальше. А в чем сложность получить вложенные массивы так же в потоковом чтении?
5. fedor40 706 09.12.22 13:52 Сейчас в теме
(4)
А в чем сложность получить вложенные массивы так же в потоковом чтении?


Буду усложнять структура выгрузки. Хотелось потоково получать объекты и массивы целиком.
7. spacecraft 09.12.22 13:54 Сейчас в теме
(5) По НачалоЭлемента начинаем считывать массив, по ОкончаниеЭлемента заканчиваем. Там не так и сложно.
8. fedor40 706 09.12.22 14:05 Сейчас в теме
(7)
По НачалоЭлемента начинаем считывать массив, по ОкончаниеЭлемента заканчиваем. Там не так и сложно.


Хорошо. А если мы будет при записи серриализовывать элементы справочника.
Как их потом читать?
9. spacecraft 09.12.22 14:13 Сейчас в теме
(8) потоковое чтение это просто механизм последовательного считывания данных. Как их будете обрабатывать это уже другой механизм и к считыванию данных не имеет отношение.
Хотите сразу записывать сериализованные данные и потом считывать уже десериализованные, то применяйте объектный метод.
Если объем считываемых данных не позволяет, то используя потоковое считывание, просто считываете сырые данные и обрабатываете их сами.
10. ImHunter 320 09.12.22 14:17 Сейчас в теме
(1) Метод глобального контекста ПрочитатьJSON(...) вроде как сразу и прочитывает. Ну или я не понял вопрос.
11. spacecraft 09.12.22 14:31 Сейчас в теме
(10) как я понял там очень большой вх. файл. И объектное чтение не справляется. Иначе никакого смысла потокового считывания нет, чтобы потом еще и десериализовать эти данные.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот