|
Строка с кавычкой в JSON |
☑ |
0
Redkiy
06.08.20
✎
11:03
|
При записи строки с кавычкой в JSON получаю лишний символ (обратный слеш).
Код:
ЗаписьJSON = Новый ЗаписьJSON();
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, "__""__");
СтрокаJSON = ЗаписьJSON.Закрыть();
возвращает "__\"__"
При обратном преобразовании символ сохраняется.
Что-то лыжи не едут. Гугл молчит. Баг?
|
|
1
ДенисЧ
06.08.20
✎
11:06
|
ПараметрыЗаписиJSON (JSONWriterSettings)
ЭкранированиеСимволов (EscapeCharacters)
Использование:
Только чтение.
Описание:
Тип: ЭкранированиеСимволовJSON.
Определяет способ экранирования символов при записи документа JSON.
После создания объекта данное свойство имеет значение Нет.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.6.
Методическая информация
|
|
2
Redkiy
06.08.20
✎
11:45
|
ЭкранированиеСимволов тут каким боком?
доступные значения: Нет, СимволыВнеASCII, СимволыВнеBMP. По умолчанию: Нет.
Перебрал все возможные значения - результат тот же.
Конструктор по умолчанию устанавливает:
ЗаписьJSON.Параметры.ИспользоватьДвойныеКавычки - истина
ЗаписьJSON.Параметры.ЭкранироватьОдинарныеКавычки - ложь
Откуда слеш берется?
|
|
3
vde69
06.08.20
✎
11:56
|
В жсон кавычки нужно экранировать, в твоём коде это за тебя делает 1с
|
|
4
Redkiy
06.08.20
✎
12:06
|
Если платформа такая умная, и игнорирует значение параметра ЭкранироватьОдинарныеКавычки, то почему нет обратного преобразования в ЧтениеJSON?
|
|
5
polosov
06.08.20
✎
12:06
|
(3) Так он про обратное преобразование. Экранирующий символ должен пропасть по-идее.
|
|
6
polosov
06.08.20
✎
12:08
|
(4) Прибивай сам все слэши.
|
|
7
trad
06.08.20
✎
12:13
|
(4) Она не игнорирует ЭкранироватьОдинарныеКавычки и параметризирует экранирование одинарных кавычек.
Просто экранирование двойных кавычек не параметризируется
|
|
8
Redkiy
06.08.20
✎
12:15
|
(5) Да все работает! Вопрос снят.
Все, хватит, с пн в отпуск...
|
|
9
trad
06.08.20
✎
12:18
|
(4)
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
ЧтениеJSON.Прочитать();
Строка = ЧтениеJSON.ТекущееЗначение;
где Строка - __"__
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший