Вход | Регистрация

1С:Предприятие ::

Метки: 

XDTO

Я
   xteam777
 
10.07.18 - 17:27
Есть строка в формате JSON

{"server_time":1531228517,"maps":{"map0":{"decimal_places":8,"min_price":0.00000001,"max_price":10000,"min_amount":0.0001,"min_total":0.0001,"hidden":0,"fee":0.2,"fbr":0.2,"fsl":0.2},"map1":{"decimal_places":8,"min_price":0.00000001,"max_price":10000,"min_amount":0.0001,"min_total":0.0001,"hidden":0,"fee":0.2,"fbr":0.2,"fsl":0.2},"map2":
{"decimal_places":8,"min_price":0.00000001,"max_price":10000,"min_amount":0.0001,"min_total":0.0001,"hidden":0,"fee":0.2,"fbr":0.2,"fsl":0.2}}}

    ЧтениеJSON = Новый ЧтениеJSON;

    ЧтениеJSON.УстановитьСтроку(пСтрока);
    ФабрикаXDTO.ПрочитатьJSON(ЧтениеJSON, ФабрикаXDTO.Тип("http://mapssssss.ru";, "info"));

В последней строке ошибка:
"Проверка дополнительного свойства:
    форма: Элемент
    имя: map0
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу

"map0" - это одновременно и имя элемента и значение.
Как правильно описать в XDTO тип данных для maps?
 
 
   Леха Дум
 
1 - 10.07.18 - 18:10
а без указания типа пробовал читать? Возможно, что фабрика читает немного не так, как ожидается. Сам столкнулся с тем, что при записи объекта XDTO в json получил совершенно не тот набор структур. При записи в XML все проходило нормально.
   xteam777
 
2 - 10.07.18 - 18:17
Пробовал. Вообще процесс предприятия отваливается
   xteam777
 
3 - 10.07.18 - 18:23
Был какойто глюк. Получилось. Спасибо
   xteam777
 
4 - 10.07.18 - 22:28
Появилась другая проблема.
Процедура КнопкаВыполнитьНажатие(Кнопка) 
пОтвет = "{
    "map0":{
        "plus":[
            [104.67,0.01],
            [104.75,11],
            [104.80,0.523],
        ],
        "minus":[
            [104.3,5.368783],
            [104.212,2.57357],
            [103.62,0.43663336],
            [103.61,0.7255672],
        ]
    }
}";
    ЧтениеJSON = Новый ЧтениеJSON;
    //ЧтениеJSON.ОткрытьПоток(пОтвет);

    ЧтениеJSON.УстановитьСтроку(Ответ);
    ОбъектXDTO = ФабрикаXDTO.ПрочитатьJSON(ЧтениеJSON); <------тут ОШИБКА
КонецПроцедуры

Ошибка: Недопустимое значение аргумента функции src\XDTOFactoryImpl 414
   xteam777
 
5 - 10.07.18 - 22:29
Это на последней платформе 8.3.12. На более ранних клиент просто вылетает. Что не так с форматом JSON тут?
   quest
 
6 - 10.07.18 - 22:55
а не ЧтениеJSON.УстановитьСтроку(пОтвет); должно быть?
   quest
 
7 - 10.07.18 - 22:59
и второй момент - может так лучше сделать
ОбъектXDTO = ПрочитатьJSON(ЧтениеJSON); 
?
   xteam777
 
8 - 10.07.18 - 23:18
Работает. Спасибо огромное
   xteam777
 
9 - 10.07.18 - 23:20
А в чем разница между ПрочитатьJSON и ФабрикаXDTO.ПрочитатьJSON?
   kuzyara
 
10 - 11.07.18 - 06:30
Первый читает в структуру, второй в объект xdto.
 
  Рекламное место пустует


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует