Не работает чтение JSON на стороне сервера
Не работает чтение JSON на стороне сервера.
Пытаюсь запустить на стороне сервера регламентное задание, получаю ошибку
На клиенте все отрабатывает ОК.
JSON получаю таким образом:
В чем проблема подскажите плз?
Пытаюсь запустить на стороне сервера регламентное задание, получаю ошибку
Получение элемента по индексу для значения не определено
На клиенте все отрабатывает ОК.
JSON получаю таким образом:
&НаСервере
Функция ЗапросДобавлениеЗаказа(Заказ) Экспорт
ssl = Новый ЗащищенноеСоединениеOpenSSL;
HTTPСоединение = Новый HTTPСоединение("site.ru",,,,,,ssl);
HTTPЗапрос = Новый HTTPЗапрос("урл получения json строки");
Попытка
Результат = HTTPСоединение.Получить(HTTPЗапрос);
Тело = Результат.ПолучитьТелоКакСтроку();
Возврат(Тело);
Исключение
Сообщить("Произошла сетевая ошибка!");
ВызватьИсключение;
КонецПопытки;
КонецФункции
ПоказатьВ чем проблема подскажите плз?
По теме из базы знаний
Найденные решения
(6)
У меня возникло стойкое ощущение что дело не в json вообще.
Ошибка обращения по индексу где у типа объекта это не предусмотрено. В том плане что если я в структуре или соответствии попытаюсь обартиться по ключу через квадратные скобки Чтото[0] - то я получу ошибку как раз индекса.
Пушто нет индекса для этих типов данных.
Если вы получаете ID какойто и по нему смотрите - сделайте явное приведение типов. Возможно строка воспринимается как число и вместо обращения по строковму ключу вы пытаетесь обратиться по числовому значению, что интерпретируется как попытка обращения по индексу, которого как я уже сказал - нет.
У меня возникло стойкое ощущение что дело не в json вообще.
Ошибка обращения по индексу где у типа объекта это не предусмотрено. В том плане что если я в структуре или соответствии попытаюсь обартиться по ключу через квадратные скобки Чтото[0] - то я получу ошибку как раз индекса.
Пушто нет индекса для этих типов данных.
Если вы получаете ID какойто и по нему смотрите - сделайте явное приведение типов. Возможно строка воспринимается как число и вместо обращения по строковму ключу вы пытаетесь обратиться по числовому значению, что интерпретируется как попытка обращения по индексу, которого как я уже сказал - нет.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Вот код где я разбираю json и обращаюсь к элементам
На клиенте я могу обратиться к Заказ["contact"]["name"] (к примеру) а на сервере вылезает эта ошибка.
Вот код где я разбираю json и обращаюсь к элементам
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ЗаказJSON);
Заказ = ПрочитатьJSON(ЧтениеJSON, Истина);
На клиенте я могу обратиться к Заказ["contact"]["name"] (к примеру) а на сервере вылезает эта ошибка.
(5) суть еще в том, что сначала идет 1 запрос, с него я получаю массив неких ID (успешно), затем в цикле перебираю нужные ID и делаю еще несколько запросов (вот они уже возвращают пустые значения, хотя запросы таким же образом). Возможно ли что 1с не умеет в моем случае на сервере делать несколько запросов ?
(6)
Скорее всего, дело не в этом. Можно подробнее, несколько запросов - это в цикле вызывается функция ЗапросДобавлениеЗаказа()? Запросы точно успешно отрабатывают, какой код состояния у ответов?
Возможно ли что 1с не умеет в моем случае на сервере делать несколько запросов ?
Скорее всего, дело не в этом. Можно подробнее, несколько запросов - это в цикле вызывается функция ЗапросДобавлениеЗаказа()? Запросы точно успешно отрабатывают, какой код состояния у ответов?
(6)
У меня возникло стойкое ощущение что дело не в json вообще.
Ошибка обращения по индексу где у типа объекта это не предусмотрено. В том плане что если я в структуре или соответствии попытаюсь обартиться по ключу через квадратные скобки Чтото[0] - то я получу ошибку как раз индекса.
Пушто нет индекса для этих типов данных.
Если вы получаете ID какойто и по нему смотрите - сделайте явное приведение типов. Возможно строка воспринимается как число и вместо обращения по строковму ключу вы пытаетесь обратиться по числовому значению, что интерпретируется как попытка обращения по индексу, которого как я уже сказал - нет.
У меня возникло стойкое ощущение что дело не в json вообще.
Ошибка обращения по индексу где у типа объекта это не предусмотрено. В том плане что если я в структуре или соответствии попытаюсь обартиться по ключу через квадратные скобки Чтото[0] - то я получу ошибку как раз индекса.
Пушто нет индекса для этих типов данных.
Если вы получаете ID какойто и по нему смотрите - сделайте явное приведение типов. Возможно строка воспринимается как число и вместо обращения по строковму ключу вы пытаетесь обратиться по числовому значению, что интерпретируется как попытка обращения по индексу, которого как я уже сказал - нет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот