![]() |
|
Выгрузка в JSON добавляет лишние запятые | ☑ | ||
---|---|---|---|---|
0
Gera1t
23.12.22
✎
13:21
|
Здравствуйте, пытаюсь выгрузить ТЗ в JSON.
Код вот такой: ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.ПроверятьСтруктуру = Ложь; ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( , Символы.Таб); ЗаписьJSON.ОткрытьФайл(ИмяФайла, , , ПараметрыЗаписиJSON); ПараметрыСериализацииJSON = Новый НастройкиСериализацииJSON(); //ЗаписьJSON.ЗаписатьНачалоМассива(); Для Каждого Стр Из ТЗ Цикл //ЗаписьJSON.ЗаписатьНачалоОбъекта(); // //ЗаписьJSON.ЗаписатьИмяСвойства("action"); //ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Стр.action)); // //ЗаписьJSON.ЗаписатьИмяСвойства("parameters"); //ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Стр.parameters)); // //ЗаписьJSON.ЗаписатьИмяСвойства("manager"); //ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Стр.manager)); // //ЗаписьJSON.ЗаписатьИмяСвойства("number_client_order"); //ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Стр.number_client_order)); // //ЗаписьJSON.ЗаписатьИмяСвойства("order_1c_id"); //ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Стр.order_1c_id)); // // //ЗаписьJSON.ЗаписатьКонецОбъекта(); Запись = Новый Структура; Запись.Вставить("action", Стр.action); Запись.Вставить("parameters", Стр.parameters); Запись.Вставить("manager", Стр.manager); Запись.Вставить("number_client_order", Стр.number_client_order); Запись.Вставить("order_1c_id", Стр.order_1c_id); Продукция = Новый Структура; Продукция.Вставить("product_type", "Шкаф"); Продукция.Вставить("price", "1000"); Продукция.Вставить("count", "1"); Запись.Вставить("products", Продукция); ЗаписатьJSON(ЗаписьJSON, Запись, ПараметрыСериализацииJSON); КонецЦикла; //ЗаписьJSON.ЗаписатьКонецМассива(); ЗаписьJSON.Закрыть(); Закомментаренная часть это попытки выгрузить разными способами. Первая строка выгружается в нормальном виде, начиная с второй строки добавляет запятые после имя свойства, которые там не нужны. Пример файла: { "action": "1", "parameters": "2", "manager": "3", "number_client_order": "4", "order_1c_id": "5", "products": { "product_type": "Шкаф", "price": "1000", "count": "1" } }, {, "action": , "7", "parameters": , "6", "manager": , "5", "number_client_order": , "4", "order_1c_id": , "3", "products": , {, "product_type": , "Шкаф", "price": , "1000", "count": , "1" } } Здесь видно, что первая запись из ТЗ выгружается красиво, а вот во второй присутствуют лишние запятые. Подскажите пожалуйста как решить эту проблему. Спасибо! |
|||
1
Gera1t
23.12.22
✎
13:22
|
И да вот это
ПараметрыСериализацииJSON = Новый НастройкиСериализацииJSON(); тоже не нужно здесь. |
|||
2
Kassern
23.12.22
✎
13:25
|
(0) Посмотрите уже в сторону метода ЗаписатьJSON() и структур.
|
|||
3
Kassern
23.12.22
✎
13:25
|
А блин увидел, вы закоментили это дело)
|
|||
4
Галахад
гуру
23.12.22
✎
13:26
|
Зачем это "ЗаписатьJSON" в цикле?
|
|||
5
Kassern
23.12.22
✎
13:27
|
(4) Чтобы ловить косяк и создать тему на Мисте)
|
|||
6
Gera1t
23.12.22
✎
13:36
|
(4) Дело в том, что я не работал раньше с JSON, просто например если выгружаешь в dbf или в xml, то можно выгрузить все записи ТЗ в один файл.
|
|||
7
Gera1t
23.12.22
✎
13:37
|
Если я делаю не правильно, подскажите пожалуйста в двух словах как нужно.
|
|||
8
arsik
гуру
23.12.22
✎
13:45
|
(6) С поисковиками раньше тоже не работал?
https://www.google.com/search?q=что+такое+json https://www.google.com/search?q=структура+json https://www.google.com/search?q=1С+json |
|||
9
Gera1t
23.12.22
✎
13:49
|
Спасибо! Разобрался. В цикле добавляешь все в массив или структуру, а потом все это помещаешь в JSON.
|
|||
10
Kassern
23.12.22
✎
13:50
|
(9) именно так)
|
|||
11
ДедМорроз
24.12.22
✎
22:35
|
Можно и вручную,но только правильная последовательность команд.
Либо все в структуры и писать одним вызовом сериализатора Или командами записи собирать вручную. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |