Имя: Пароль:
1C
1С v8
ЧЗ. Как получить информацию о марках по TrueAPI ?
0 Saari
 
20.03.24
11:25
Пытаюсь получить информацию о марках по TrueAPI в сервисе Честного знака.
Вот процедура отправки HTTP-запроса:

Запрос = "/api/v3/true-api/cises/info?pg=beer";
КИ = "<код марки>";
Соединение = Новый HTTPСоединение(Сервер, 443, ,,,, Новый ЗащищенноеСоединениеOpenSSL);
HTTPЗапрос = Новый HTTPЗапрос(Запрос);
HTTPЗапрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);
HTTPЗапрос.Заголовки.Вставить("Accept", "application/json");
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
ДанныеДляЗапроса = Новый Структура;

МассивКИ = Новый Массив;
МассивКИ.Добавить(КИ);
ДанныеДляЗапроса.Вставить("cis", МассивКИ);

Запись_JSON = Новый ЗаписьJSON;
Запись_JSON.УстановитьСтроку();
ЗаписатьJSON(Запись_JSON, ДанныеДляЗапроса);
СтрокаДляЗапроса = Запись_JSON.Закрыть();
	
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаДляЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
	
файлОтвет = ПутьКФайламОтветов + "otvet.json";
Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос, файлОтвет);


В файле ответа получаю информацию об ошибке:
Некорректный JSON. Данные ошибки: Cannot deserialize instance of `java.util.ArrayList<java.lang.Object>` out of START_OBJECT token. [line: 1, column: 1]


Подскажите, пожалуйста, как правильно составить запись JSON для последующей передаче в HTTP-запросе?
1 Saari
 
19.03.24
15:31
Строка для запроса выглядит так:
{
"cis": [
"<код марки>"
]
}
2 Garykom
 
19.03.24
16:04
Попробуй просто
ЗаписатьJSON(Запись_JSON, МассивКИ);
3 Saari
 
19.03.24
16:21
(2) Получилось. Спасибо!
4 oleg_km
 
20.03.24
11:23
Зашибись документация. Там читаем, там не читаем, там рыбу заворачивали
AdBlock убивает бесплатный контент. 1Сергей