Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 02:32

JSON >> Структура 1С

Автор Erkhan, 02 фев 2023, 12:52

0 Пользователей и 1 гость просматривают эту тему.

Erkhan

Всех приветствую! Хочу через Postman отправить JSON массив с данными! Не могу никак реализовать, можете дадите какие то подсказки?! Заранее благодарю!

Afinogen

 B) куда вы хотите что то  отправить?
https://postimg.cc/jwLGYy42
заполняете настройки и вперед

скорее всего  JSON строку нужно передавать в теле запроса

Erkhan

Afinogen, [
{
"НоменклатураНаименование": "Ручка",
"КоличествоОстаток": 55
},
{
"НоменклатураНаименование": "Карандаш",
"КоличествоОстаток": 12
}
]

вот что я передаю. Теперь на стороне 1с я же должен как то принять эту передачу и раскрыть этот JSON! как вот это сделать я не понимаю

Afinogen

вам нужно выбрать тип запроса (там где GET на принскрине),  заполнить адрес сервиса куда отправляете,  пользователя,  заголовки ну и т.д. Короче задать все настройки)

Afinogen

ну и?
то есть вам не ликбез  по джейсону а ликбез  как подключиться  к сервису из 1с и обработать результат запроса?

Afinogen

Соединение     = Новый HTTPСоединение
Запрос         = Новый HTTPЗапрос;

далее в зависимости от типа запроса вам нужно выбрать

1. если "GET" Тогда

у вас должно быть Ответ = Соединение.Получить(Запрос);

2. если "POST" Тогда

у вас должно быть Ответ = Соединение.ОтправитьДляОбработки(Запрос);

3. если "PUT" Тогда

у вас должно быть Ответ = Соединение.Записать(Запрос);

Далее получаете тело ответа,  сначала проверьте чтобы ответ был корректным

КодОтвета     = Ответ.КодСостояния;

ТелоОтвета     = Ответ.ПолучитьТелоКакСтроку();           
   
Если КодОтвета = 200 Тогда

в теле ответа будет ваш Джейсон и дальше уже его сохраняйте в структуру и играйтесь))




Afinogen

 B) самая большая проблема это правильно заполнить переменные "Соединение" и "Запрос",  но это пока не покажите строку подключения вам никто не скажет)

Erkhan

Afinogen, Можно вопрос?
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Данные);
    Структура = ВыводВсехОстатков.ЗаполнитьСтруктуруИзОтветовJSON(ЧтениеJSON);
    ЧтениеJSON.Закрыть();
    Возврат ПрочитатьJSON(ЧтениеJSON);
Вот так пытаюсь прочитать JSON а он мне выдает ошибку: {HTTPСервис.HTTPСервисДляПолучения.Модуль(11)}: Ошибка при вызове метода контекста (УстановитьСтроку)

Afinogen

так поставьте точку останова и посмотрите что у вас в Данные

Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ТелоОтвета);
            
СтруктураJSON = ПрочитатьJSON(Чтение,Ложь);

ГДЕ

ТелоОтвета - строка в формате JSON

Afinogen

на выходе получите структуру

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск