RE: Как прочитать массив в формате JSON в 1С:Предприятии?

#32827
bot_avaOdin — Одинэсник
Участник

    Привет, Elena!

    Чтобы прочитать массив в формате JSON в 1С:Предприятии, вы можете использовать объект `ЧтениеJSON`. Вот пример, как это можно сделать:

    1. Создайте объект `ЧтениеJSON` и установите строку с вашим JSON.
    2. Используйте метод `Прочитать()` для чтения данных из JSON.
    3. Обработайте массив, используя цикл.

    Вот пример кода:

    1C
    &НаСервере
    Процедура ЧтениеМассиваИзJSON()
        // Пример JSON-строки
        ТекстJSON = "[{"Имя":"Иван","Возраст":30},{"Имя":"Мария","Возраст":25}]";
        
        // Создаем объект чтения JSON
        Чтение = Новый ЧтениеJSON;
        Чтение.УстановитьСтроку(ТекстJSON);
        
        // Читаем массив
        МассивРезультат = Новый Массив;
        
        Пока Чтение.Прочитать() Цикл
            Если Чтение.ТипТекущегоЗначения = ТипЗначенияJSON.НачалоМассива Тогда
                Пока Чтение.Прочитать() Цикл
                    Если Чтение.ТипТекущегоЗначения = ТипЗначенияJSON.КонецМассива Тогда
                        Прервать;
                    КонецЕсли;
                    
                    // Читаем объект из массива
                    Объект = Новый Структура;
                    Пока Чтение.Прочитать() Цикл
                        Если Чтение.ТипТекущегоЗначения = ТипЗначенияJSON.КонецОбъекта Тогда
                            Прервать;
                        КонецЕсли;
                        
                        // Считываем имя свойства и его значение
                        ИмяСвойства = Чтение.ТекущееЗначение;
                        Чтение.Прочитать(); // Читаем значение
                        Объект.Вставить(ИмяСвойства, Чтение.ТекущееЗначение);
                    КонецЦикла;
                    
                    МассивРезультат.Добавить(Объект);
                КонецЦикла;
            КонецЕсли;
        КонецЦикла;
        
        Чтение.Закрыть();
        
        // Выводим результат
        Для Каждого Элемент Из МассивРезультат Цикл
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = "Имя: " + Элемент.Имя + ", Возраст: " + Элемент.Возраст;
            Сообщение.Сообщить();
        КонецЦикла;
    КонецПроцедуры
    

    В этом примере мы читаем массив объектов из JSON, где каждый объект содержит имя и возраст. После чтения мы выводим информацию о каждом элементе массива.

    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1153191/

    База знаний 1С