Привет Я пытаюсь загрузить конфигурацию из строки в Java следующим образом:типизированного ConfigFactory ошибка зарезервированных символов
@Test
public void testIllegalCharacter(){
String input = "prop=\\asd";
Config conf = ConfigFactory.parseString(input);
}
Код выше выдает следующее сообщение об ошибке:
com.typesafe.config.ConfigException$Parse: String: 1: Expecting a value but got wrong token: '\' (Reserved character '\' is not allowed outside quotes) (if you intended '\' (Reserved character '\' is not allowed outside quotes) to be part of a key or string value, try enclosing the key or value in double quotes, or you may be able to rename the file .properties rather than .conf)
Я понимаю, у меня есть незаконный символ в моей строке. Хотя, как я могу найти полный набор незаконных символов?
Если я (например) преобразовать эту строку в Properties
объект, а затем разобрать его с ConfigFactory.parseProperties
я могу увидеть значение "\\asd"
в разрешенном в качестве "asd".
Так должен быть некоторое некоторые дезинфицирующего происходит в библиотеке типизированной, я Хотелось бы, чтобы я сам назвал эту санитарию, но я не понимаю, как это сделать. Анализ Parsing to Properties не является жизнеспособным решением, так как конфигурация может быть составлена с помощью объектов или списков.
Есть ли у кого-нибудь предложения, как решить эту проблему?
Возможно, кто-то может указать на все зарезервированные символы?
Большое спасибо
Вы правы, но мой вопрос будет, как я программно применяю стратегию, чтобы избежать проблемы? Я подумал о том, чтобы поймать Исключение, а затем повторить попытку, но это была бы плохая практика. – nuvio
Чтобы прояснить этот ввод, это не сработает. Спасибо за ваше предложение. – nuvio