Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> JSON в соответствии          
burza Подменю пользователя
сообщение 18.01.24, 10:28
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

Знаю что тема уже заёрзанная но все же не могу разобрать где ошибка.
Пытаю читать в соответсвии json и вот тут ошибка

Ошибка при вызове метода контекста (УстановитьСтроку)
{ВнешняяОбработка.LidoJSON.Форма.Форма.Форма(18)}:ЧтениеJSON.УстановитьСтроку(мсСтрока.Значение);
{ВнешняяОбработка.LidoJSON.Форма.Форма.Форма(5)}:ЗаполнитьТаблицу();

по причине:
Несоответствие типов (параметр номер '1')


    ПолученныеДанные = ЧтениеИзJSON();  
        
                Для каждого СтрокиСоотв из ПолученныеДанные Цикл
                Для каждого мсСтрока из СтрокиСоотв Цикл
                    ЧтениеJSON = новый ЧтениеJSON;
                    ЧтениеJSON.УстановитьСтроку(мсСтрока.Значение);
                    СтруктураДанных = ПрочитатьJSON(ЧтениеJSON);
                    
                         НоваяСтрока = Таб.Добавить();
                        НоваяСтрока.Артикул =  СтруктураДанных.vendorCode;
                                                                     
                      КонецЦикла;
            КонецЦикла;


burza @ Сегодня, 10:23 * ,

alex-l1904 Подменю пользователя
сообщение 18.01.24, 10:30
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

burza @ Сегодня, 11:23 * ,
що саме міститься в мсСтрока.Значение коли виникає помилка ?

burza Подменю пользователя
сообщение 18.01.24, 10:37
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

alex-l1904 @ Сегодня, 10:30 * ,
фото выклал
или есть пример как читать в соответствии

alex-l1904 Подменю пользователя
сообщение 18.01.24, 10:42
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

burza @ Сегодня, 11:37 * ,
для початку можна

Попытка
ЧтениеJSON.УстановитьСтроку(мсСтрока.Значение);
Исключение
КонецПопытки

чи це помилка одного рядка ? якщо так, то порівняти з коректними рядками...

burza Подменю пользователя
сообщение 18.01.24, 10:53
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

alex-l1904 @ Сегодня, 10:42 * ,
через попытку, вроде не строки проблема а всего. хотя через отладку видно что данные есть

Ошибка при вызове метода контекста (ПрочитатьJSON)
{ВнешняяОбработка.LidoJSON.Форма.Форма.Форма(23)}:СтруктураДанных = ПрочитатьJSON(ЧтениеJSON);
{ВнешняяОбработка.LidoJSON.Форма.Форма.Форма(5)}:ЗаполнитьТаблицу();

по причине:
Источник данных JSON не открыт

burza @ Сегодня, 10:44 * ,
все вроде ок а не идет, глаза уже замылил)

alex-l1904 Подменю пользователя
сообщение 18.01.24, 11:05
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

burza @ Сегодня, 11:53 * ,
із довідки

УстановитьСтроку(<СтрокаJSON>)
Параметры:
<СтрокаJSON> (обязательный)
Тип: Строка.
Строка, содержащая текст в формате JSON.

треба значення мсСтрока.Значение привести до Строка, содержащая текст в формате JSON.

burza Подменю пользователя
сообщение 18.01.24, 11:17
Сообщение #7

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

alex-l1904 @ Сегодня, 11:05 * ,
так там и так она вроде. есть какой-то может пример у кого как прочитать?

alex-l1904 Подменю пользователя
сообщение 18.01.24, 11:36
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

burza @ Сегодня, 12:17 * ,
є питання, якщо в мсСтрока.Значение міститься Соответствие, то нащо

ЧтениеJSON = новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(мсСтрока.Значение);
СтруктураДанных = ПрочитатьJSON(ЧтениеJSON);

?

burza Подменю пользователя
сообщение 18.01.24, 11:38
Сообщение #9

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

alex-l1904 @ Сегодня, 11:36 * ,
а как его раскрыть? циклом по строке не то, нужно уже получить весь список что там есть? как сделать?

alex-l1904 Подменю пользователя
сообщение 18.01.24, 11:41
Сообщение #10

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

burza @ Сегодня, 12:38 * ,


Для Каждого ЭлементСоответствия из Соответствие1 цикл
Сообщить("Соответствие1 [" +
Строка(ЭлементСоответствия.Ключ) + "] = " +
ЭлементСоответствия.Значение);
КонецЦикла;

burza Подменю пользователя
сообщение 18.01.24, 12:22
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

alex-l1904 @ Сегодня, 11:41 * ,
мне нужно результат добавить в таблицу значений. в одну строку всё. а циклом будет перебирать по каждой и данные со строки уже будет писать в новую в таблице. Должно быть в таком виде.

Артикул = Результат["article"];
Бренд = Результат["brand"];
Наименование = Результат["name"];
Цена = Результат["price"]

burza @ Сегодня, 11:45 * ,
Вот как работает
      ПолученныеДанные = ЧтениеИзJSON();  
        
                Для каждого СтрокиСоотв из ПолученныеДанные Цикл
                    Для каждого мсСтрока из СтрокиСоотв Цикл  
                            
                    
                    ЧтениеJSON = новый ЧтениеJSON;                
                    Строка = мсСтрока.Значение;
                    СтрокаJSON = Строка;
                    
                    
                            
                         НоваяСтрока = Таб.Добавить();

                               НоваяСтрока.Артикул      = СтрокаJSON["vendorCode"];
                            НоваяСтрока.id        = СтрокаJSON["id"];
                            НоваяСтрока.categoryId        = СтрокаJSON["categoryId"];
                            НоваяСтрока.vendor        = СтрокаJSON["vendor"];
                            НоваяСтрока.description        = СтрокаJSON["description"];
                            НоваяСтрока.name        = СтрокаJSON["name"];
                            НоваяСтрока.price_main        = СтрокаJSON["price_main"];
                            
                            
                                       
                      КонецЦикла;
            КонецЦикла;

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.04.24, 8:57
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!