Имя: Пароль:
1C
1С v8
XDTO
,
0 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 все проходило нормально.
2 xteam777
 
10.07.18
18:17
Пробовал. Вообще процесс предприятия отваливается
3 xteam777
 
10.07.18
18:23
Был какойто глюк. Получилось. Спасибо
4 xteam777
 
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
5 xteam777
 
10.07.18
22:29
Это на последней платформе 8.3.12. На более ранних клиент просто вылетает. Что не так с форматом JSON тут?
6 quest
 
10.07.18
22:55
а не ЧтениеJSON.УстановитьСтроку(пОтвет); должно быть?
7 quest
 
10.07.18
22:59
и второй момент - может так лучше сделать
ОбъектXDTO = ПрочитатьJSON(ЧтениеJSON);
?
8 xteam777
 
10.07.18
23:18
Работает. Спасибо огромное
9 xteam777
 
10.07.18
23:20
А в чем разница между ПрочитатьJSON и ФабрикаXDTO.ПрочитатьJSON?
10 kuzyara
 
11.07.18
06:30
Первый читает в структуру, второй в объект xdto.
AdBlock убивает бесплатный контент. 1Сергей