|
Сериализация в JSON | ☑ | ||
---|---|---|---|---|
0
kkar
22.01.21
✎
12:57
|
Добрый день! Стоит задача сериализовать в JSON структуру следующего вида:
Структура = Новый Структура; Структура.Вставить("НомерСообщения", 1); Структура.Вставить("МассивДанных", МассивСсылок); МассивСсылок - массив с ссылками (справочники, документы). При вызове СериализаторXDTO.ЗаписатьJSON(Запись, Структура, НазначениеТипаXML.Явное) файл json имеет вид: { "#value":[ { "name":{ "#type":"jxs:string", "#value":"НомерСообщения" }, "Value":{ "#type":"jxs:decimal", "#value":1 } }, { "name":{ "#type":"jxs:string", "#value":"МассивДанных" }, "Value":{здесь пошел массив объектов json} } ] } То есть структура преобразовалась в массив А хочется вид такой: { "НомерСообщения": 1, "МассивДанных": массив объектов json } Как привести к желаемому виду? Чтобы потом и десериализация прошла? |
|||
1
acht
22.01.21
✎
13:00
|
(0) >"МассивДанных": массив объектов json
А распиши, ну ради интереса, как по-твоему "нормально" должен выглядеть массив ссылок в json? Ну, чтобы потом и десериализация прошла. |
|||
2
d4rkmesa
22.01.21
✎
13:06
|
(0) Попробуй функцию ЗаписатьJSON глобального контекста, а не сериализатора. Примерно: ЗаписатьJSON(Запись, Структура) .
|
|||
3
kkar
22.01.21
✎
13:12
|
(1) {
"#type":"jv8:Array", "#value":[ { "#type":"jcfg:CatalogObject.Справочник1", "#value":{ "Ref":"2db3997e-48d3-414b-85d6-e29aa928a9b7", "DeletionMark":false, "Owner":{ "#type":"jcfg:CatalogRef.Владелец", "#value":"52445859-cde1-4ff7-9681-9631f5ef5c8d" }, "Code":"А00009555", "Description":"UP-9T-2500-3500 № 53101", "ТипОборудования":"7575e214-5bcc-4cc7-8b4b-d0286250a5be" } }, и т.д. ] } Десериализация в принципе уже проходит в текущем формате |
|||
4
kkar
22.01.21
✎
13:13
|
(2) ЗаписатьJSON глобального контекста не сериализует массив ссылок, только простые типы
|
|||
5
d4rkmesa
22.01.21
✎
13:21
|
(4) При желании можно, но вы же хотите не массив ссылок(гуидов, грубо говоря), а массив объектов.
|
|||
6
kkar
22.01.21
✎
13:22
|
(5) да, верно, массив объектов нужен
|
|||
7
d4rkmesa
22.01.21
✎
13:22
|
Хотя, в функцию преобразования можно засунуть многое, как минимум, формируя сериализуемые коллекции. Но десериализовывать тоже придется вручную.
|
|||
8
kkar
22.01.21
✎
13:27
|
(7) не хотелось бы усложнять себе жизнь=)
|
|||
9
acht
22.01.21
✎
13:48
|
(8) Так а чем тогда текущая схема не устраивает?
|
|||
10
kkar
22.01.21
✎
13:54
|
(9) принимающей стороне не нравится, что структура превратилась в массив json. Им удобнее было бы обрабатывать объекты json.
|
|||
11
acht
22.01.21
✎
14:01
|
(10) Ну слепи им строчку JSON руками, чо.
Определись: "не хотелось бы усложнять себе жизнь" или "принимающей стороне не нравится" |
|||
12
kkar
22.01.21
✎
14:18
|
(11) Ну раз нет других вариантов, то что ж поделать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |