Метод ПрочитатьJSON добавляет в возвращаемых данных (в массиве) закоментированные строки
Если в массиве json есть закомментированная строка, то она попадает в структуру данных в виде элемента массива.
Пример воспроизведения прикреплен
Проверил на 1.1.1, 1.4.0, 1.8.4
Листинги
[
{
"NAME": "",
"Method": "",
"PATH": ""
},
{
"NAME": "",
// "Method": "",
"PATH": ""
}
// },
// {
// "NAME" : ""
// "Method" : "",
// "PATH" : ""
]
ЧтениеТекста = Новый ЧтениеТекста("test.json", КодировкаТекста.UTF8NoBOM);
Текст = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(Текст);
Настройка = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Для Каждого Стр Из Настройка Цикл
Сообщить(Стр);
КонецЦикла;
Обсуждение https://t.me/oscript_library/98144
Не только в массиве:
Текст = "
|{
| 'test': //fail
| 'pass'
|}";
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(Текст);
Результат = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Сообщить(Результат.test);
fail вместо "pass"
Я не знаю, какое должно быть правильное поведение. Комментариев в синтаксисе Json вообще не предусмотрено....
Комментариев в синтаксисе Json вообще не предусмотрено....
Вопрос дискуссионный. С одной стороны именно таким он и создавался, а с другой формат вырос до одно- и многострочных комментариев.
Я не знаю, какое должно быть правильное поведение.
В чем имеено логическая ловушка? Нужны однострочные комментарии. В многострочные не лезть. Обработка комментариев построчная.