Всем привет! Не могу сформировать валидный джсон при формировании вот такого кода:
СтруктураНаСервер = Новый Структура("Data,Extension",
Base64Строка(Выборка.ДвоичныеДанныеФайла.Получить()),
Выборка.Расширение);
ЗаписьДжсон = Новый ЗаписьJSON;
ЗаписьДжсон.УстановитьСтроку();
ЗаписатьJSON(ЗаписьДжсон, СтруктураНаСервер);
ЗаписьJson добавляет последовательность \r\n в места переноса строк. Если взять текст до записи в json, то там такой последовательности нет. Подскажите пожалуйста, как избежать такого поведения? Отключать перенос строк и экранирование переносов строк пробовал, не помогает.
(3)Так не работает. Это свойство только на чтение. Работает так:
ПараметрыДжсон = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет);
ЗаписьДжсон.УстановитьСтроку(ПараметрыДжсон);
Там 4 варианта: Unix, Windows, Авто и Нет. Я попробовал все 4. Нет никаких изменений.
(5)Если поднять глаза на заголовок темы, то можно увидеть, что проблема была как раз в том, что штатный парсер который дампит строку в json, делает именно то, что вы показали в коде, он самостоятельно экранирует символы переноса строк именно тем способом как вы показываете, нет нужды делать эту пакость вручную. Это как раз все портит. И как это отключить я не нашел. Мне не нужны \r\n в base64. Если переносов не должно быть в json их надо удалять, а не экранировать. Эту строку потом не декодировать обратно в бинарник, без обработки. Решение - удалять вручную, все переносы строк, которые Base64Строка ставит зачем-то через каждые 32 символа.