Коллеги, добрый день.
Много вариантов перепробовал, но зашел в тупик.
Есть строка пример (маркировка): "0104660250738335215.WxjhAJaFr,g\u001d9100C0\u001d92v9yeAe3q5Z"
Нужно чтобы строка не меняла вид когда мы её записываем в json, из кода убрал лишние параметры из структуры, так как они для примера не нужны ну и строку поменьше:

```1c
    СтрукОтправки = Новый Структура;
    СтрукОтправки.Вставить("cis","0104660250738335215.WxjhAJaFr,g\u001d9100C0\u001d92v9yeAe3q5Z");
    ПараметрыJSO = Новый ПараметрыЗаписиJSON(,,,ЭкранированиеСимволовJSON.Нет,ЛОЖЬ,ЛОЖЬ,ЛОЖЬ,ЛОЖЬ,ЛОЖЬ);
    JSONData = Новый ЗаписьJSON;
    JSONData.ОткрытьПоток(HTTPRequest.ПолучитьТелоКакПоток(),,,ПараметрыJSO);
    ЗаписатьJSON(JSONData,СтрукОтправки,,"СериализацияСсылок");
    СтрокаJS = JSONData.Закрыть();
    Результат = HTTPСоединение.ВызватьHTTPМетод("PUT",HTTPRequest);
```

По итогу получаем ответ и видим, что отправили мы не нашу строку, которую написал вышел, а где слеш, он их сделал 2 слешами.
"0104660250738335215.WxjhAJaFr,g\\u001d9100C0\\u001d92v9yeAe3q5Z"
В параметрах записи принудительно уже указываю что не нужно ничего использовать, всё равно происходит экранирование. Что стандарты json экранируют 1 слеш в 2 слеша. А мне это не надо. Как изменить чтобы отправлялся 1 слеш?
Через постман всё ок, отправляется, там вопросов нет.
Немного предистории, в самой строке сначала подменяю, где символы 91 и 92, ставлю туда спец символы:

```1c
    Марк = Выборка.Маркировка;
    Марк = СтрЗаменить(Марк,"91","\u001d91");
    Марк = СтрЗаменить(Марк,"92","\u001d92");
```
---
Base64 это не про ваш случай, т.к. сторона приемник - не ваш сервис.
Если это делает преобразование в JSON - самый простой способ не ломать голову - сделать так:

```1c
    СериализованнаяСтрока = СтрЗаменить(СериализованнаяСтрока, "\\u001d", "\u001d")
```

Костыль, конечно, но зато будет работать)
---
В параметрах записи принудительно уже указываю что не нужно ничего использовать, всё равно происходит экранирование. А вы правильно указываете параметры? На ИТС все по-другому: экранирование по умолчанию отключено, а включается не четвертым параметром ПараметрыЗаписиJSON, а девятым.
---
Тут увы от безысходности уже начал принудительно переводить все в ложь. Изначально да только 9 параметр в ложь переводил, потом уже все перевел...
---
Так у вас в какой момент 2 слэша?

Попробуйте не через поток, а через
```1c
    HTTPRequest.УстановитьТелоИзСтроки();
```
, JSON соответственно писать в строку. Можно будет хотя бы понять это слэш добавляется в момент преобразования в JSON или это делает HTTPСоединение
---
Спасибо, да слеш добавляется в момент преобразования в json... Но это не решает проблему...
Получается куда дальше можно копнуть, чтобы не преобразовывал? На счет base64 о чем писали ниже не совсем ясно.
---
Base64 это не про ваш случай, т.к. сторона приемник - не ваш сервис.
Если это делает преобразование в JSON - самый простой способ не ломать голову - сделать так:

```1c
    СериализованнаяСтрока = СтрЗаменить(СериализованнаяСтрока, "\\u001d", "\u001d")
```

Костыль, конечно, но зато будет работать)
---
Я прям в этот же момент это же и ответил) Так и сделаем) Спасибо!
---
Сделал костыль после преобразования в json и проблема решилась, спасибо!
Конечно бы узнать решение без костыля такого, но думаю позже кто то напишет. Не хочет добавлять как код, добавлю как текст:
ЗаписьJSON = новый ЗаписьJSON();
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтрукОтправYM);
сериализованнаяСтрока = ЗаписьJSON.Закрыть();
сериализованнаяСтрока = СтрЗаменить(сериализованнаяСтрока,"\\","\"); //КОСТЫЛЬ
HTTPRequest.УстановитьТелоИзСтроки(сериализованнаяСтрока);
---
Оффтоп: если платформа 23 и выше, то там будет работать упрощенный вариант записи JSON:

```1c
    СериализованнаяСтрока = ЗаписатьЗначениеJSON(СтрукОтправYM);
```
---
Мне видится, что само направление усилий неверное. Механизм просто ОБЯЗАН что-то делать с символами, не похожими на буквы. Иначе чтение станет невозможным. Представьте семя на месте чтеца такого файла. Встретился в тексте один из символов { [ ] } кавычки, а еще есть "Перевод строки" и "Возврат каретки" (по памяти юности, 0x0D и 0x0A). Тогда стой и ломай голову, это кусок данных или управляющий символ, вроде завершить конструкцию, перевести строку и т.п.
Вывод: нельзя вставлять в строковые данные любые символы (их называют "непечатными") в оригинальном виде, как Вы хотите. А чтобы механизм их не преобразовывал, самому преобразовать в Base64. При приеме сделать обратное.
---
Ну тут у ТСа выбора нет, в описании API Яндекса черным по персиковому написано не экранировать, т.е. приемник готов в таком виде обрабатывать.

https://yandex.ru/dev/market/partner-api/doc/ru/reference/orders/setOrderBoxLayout#brieforderiteminstancedto

P.S. вообще по поводу перевода в Base64 полностью поддерживаю, так можно передавать, например, кириллицу в заголовках HTTP например, так:

```1c
    Base64Строка(ПолучитьДвоичныеДанныеИзСтроки("АБВ"))
```