Табличный документ в JSON и обратно. Как?

1. binex 278 02.12.17 10:31 Сейчас в теме
Ребята, помогите примером. Как мне табличный документ в ЖСОН запихать?
Подозреваю что как-то через ФабрикаXDTO.Тип("http://v8.1c.ru/8.2/data/spreadsheet", "SpreadsheetDocument");




лТабДок = Новый ТабличныйДокумент;

ЗаписьЖСОН = Новый ЗаписьJSON;
ЗаписьЖСОН.УстановитьСтроку();
СериализаторXDTO.ЗаписатьJSON(ЗаписьЖСОН, лТабДок);
лСтрокаЖСОН = ЗаписьЖСОН.Закрыть();

Сообщить(лСтрокаЖСОН);
// {
// "#value": {
// "columns": [
// {
// "size": 0
// }
// ],
// "defaultFormatIndex": 1,
// "vgRows": 0,
// "format": [
// {
// "width": 72
// }
// ]
// }
// }

лЧтениеЖСОН = Новый ЧтениеJSON;
лЧтениеЖСОН.УстановитьСтроку(лСтрокаЖСОН);

Попытка
лДанные = СериализаторXDTO.ПрочитатьJSON(лЧтениеЖСОН);
Исключение
Сообщить(ОписаниеОшибки())
КонецПопытки;

// {ВнешняяОбработка.test.МодульОбъекта(77)}: Ошибка при вызове метода контекста (ПрочитатьJSON): Ошибка преобразования данных XDTO:
// НачалоСвойства: Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType: Ошибка преобразования данных XDTO:
// НачалоСвойства: columns Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType

лЧтениеЖСОН.Закрыть();
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. binex 278 02.12.17 10:43 Сейчас в теме
Вот так всегда - только вопрос задашь, так сразу ответ находится:

лДанные = СериализаторXDTO.ПрочитатьJSON(лЧтениеЖСОН, Тип("ТабличныйДокумент"));
3. binex 278 02.12.17 10:46 Сейчас в теме
СериализаторXDTO.ЗаписатьJSON(ЗаписьЖСОН, лТабДок, НазначениеТипаXML.Явное);



{
"#type": "jmxl:SpreadsheetDocument",
"#value": {
"columns": [
{
"size": 0
}
],
"defaultFormatIndex": 1,
"vgRows": 0,
"format": [
{
"width": 72
}
]
}
}
svilsa; Franco; +2 Ответить
4. johnnyshut23 71 03.12.17 12:12 Сейчас в теме
5. China_off 27.09.18 06:16 Сейчас в теме
А ещё лучше сделать вот так:
вместо СериализаторXDTO.ЗаписатьJSON(ЗаписьЖСОН, лТабДок);
написать так СериализаторXDTO.ЗаписатьJSON(ЗаписьЖСОН, лТабДок, НазначениеТипаXML.Явное);

Тогда при дисерализации тип указывать не надо :)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот