Имя: Пароль:
1C
1С v8
"Непредвиденный символ при чтении json"
0 denis_z3x
 
30.07.19
09:39
Здравствуйте!
Я в 1С дилетант!
Отправляю на web-сервер данные. Получаю ответ если все ок. то сервер возвращает json и 1с прекрасно его разбирает. А если произошла ошибка, то ответ уже не в формате json.
Если ответ не json тогда 1с выводит ошибку  "Непредвиденный символ при чтении json"
Как можно проверить является ли строка  json на стороне 1с?

.....
Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);   // Получаем ответ с сервера
    
    //Сообщить(Ответ.ПолучитьТелоКакСтроку("UTF-8"));
    
    тЧтение = Новый ЧтениеJSON;
    тЧтение.УстановитьСтроку(СокрЛП(Ответ.ПолучитьТелоКакСтроку("UTF-8"))); // читаем строку
    ДанныеJSON = ПрочитатьJSON(тЧтение,Истина);
    тЧтение.Закрыть();
....
1 Кирпич
 
30.07.19
09:46
попытка исключение
2 Кирпич
 
30.07.19
09:48
ну и наверное статус http
3 zva
 
30.07.19
09:50
Если Ответ.КодСостояния = 200 Тогда
Если СтрНайти(Ответ.Заголовки.Получить("Content-Type"), "json") > 0 Тогда
4 ДенисЧ
 
30.07.19
10:32
(3) Ой, не факт... Я могу заголовок вставить, а в тело свап-файл запихнуть...
5 denis_z3x
 
30.07.19
10:52
Спасибо за варианты. Я вышел пока таким вариантом

Если  Сред(строкаJSON, 1, 1) = "{" Тогда

// читаем строку как JSON

Иначе

// Выводим строку через сообщение, что бы узнать в чем проблема

КонецЕсли;