Имя: Пароль:
1C
 
Работа с текстовым документом. Перенос строки.
0 Varlant1n
 
25.10.21
17:26
Здравствуйте ребята! У меня к вам вопрос, который связан с раьботой с JSON строкой. Есть обработка, на обработке есть реквизит типа ТекстовыйДокумент. В этот текстовый документ всятавляется JSON строка. Так же на форме обработки есть кнопка при нажатии на кнопку данная JSON строка должна сохраняться в .txt файл на рабочем столе. Я прописал это в команде:

ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.ПроверятьСтруктуру = Ложь;
ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(, Символы.Таб));
ЗаписатьJSON(ЗаписьJSON, JSONСтрока.ПолучитьТекст());
JSON = ЗаписьJSON.Закрыть();
    
ФайлTXT = Новый ТекстовыйДокумент;
Путь = "C:\Users\Ad\Desktop\data.txt";
ФайлTXT.УстановитьТекст(JSON);
ФайлTXT.Записать(Путь);

Все работает, но вот в самом текстовом документе вместо переноса строк вставляется следующее: "\n\u0009\u0009\u0009\" и все пишется в одну строку. Как исправить данную ситуацию? Нужно, чтобы в текстовом файле JSON строка была того же вида, как и в обработке. Я еще прописывал так:

КоличествоСтрок = JSONСтрока.КоличествоСтрок();
ФайлTXT = Новый ТекстовыйДокумент;
Путь = "C:\Users\1c\Desktop\qwerty.json";
    
Счетчик = 1;    
Пока Счетчик <= КоличествоСтрок Цикл
    JSONСтрокаС = JSONСтрока.ПолучитьСтроку(Счетчик);
    ФайлTXT.ДобавитьСтроку(JSONСтрокаС);
КонецЦикла;
    
    ФайлTXT.Записать(Путь);
1 Varlant1n
 
25.10.21
17:27
Не дописал случайно, прописывал так:

КоличествоСтрок = JSONСтрока.КоличествоСтрок();
ФайлTXT = Новый ТекстовыйДокумент;
Путь = "C:\Users\1c\Desktop\qwerty.json";
    
Счетчик = 1;    
Пока Счетчик <= КоличествоСтрок Цикл
    JSONСтрокаС = JSONСтрока.ПолучитьСтроку(Счетчик);
    ФайлTXT.ДобавитьСтроку(JSONСтрокаС);
    Счетчик = Счетчик + 1;
КонецЦикла;
    
ФайлTXT.Записать(Путь);
2 Varlant1n
 
25.10.21
17:28
Но как вы понимаете данный код занимает время и нужно что-то быстрее. Что можно с этим сделать?
3 Kassern
 
25.10.21
17:33
(0) откуда приходит json? С ответа сайта?
4 Varlant1n
 
25.10.21
17:34
(3) Нет, формируется из документа
5 Varlant1n
 
25.10.21
17:34
(4) С самим JSON файлом все в порядке. То есть он сформирован правильно.
6 acht
 
25.10.21
23:32
Острый запах бреда исходит как от задачи так и от ее решения.

Если я что-то понял, то достаточно сделать JSONСтрока.Записать("C:\Users\1c\Desktop\qwerty.json");
7 Галахад
 
гуру
26.10.21
06:43
Если я правильно понял, в первом случае Символы.Таб и дает "u0009".

А во втором случает можно использовать запись xml и метод ЗаписатьБезОбработки. Гуглить "Быстрая конкатенация"