Salut, je suis en train de charger la configuration à partir d'une chaîne en Java comme suit:Typesafe erreur ConfigFactory avec des caractères réservés
@Test
public void testIllegalCharacter(){
String input = "prop=\\asd";
Config conf = ConfigFactory.parseString(input);
}
Le code ci-dessus produit l'erreur suivante:
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)
Je comprends que j'ai un caractère illégal dans ma chaîne. Bien que comment puis-je trouver l'ensemble des caractères illégaux?
Si I (par exemple) convertir cette chaîne dans un objet Properties
puis l'analyser avec ConfigFactory.parseProperties
je peux voir la valeur "\\asd"
en a décidé que "asd".
donc il doit y avoir une certaine désinfectante passe dans la bibliothèque de typesafe, je Je voudrais pouvoir appeler cette aseptisation moi-même, mais je ne vois pas comment. L'analyse des propriétés n'est pas une solution viable car la configuration peut également être composée d'objets ou de listes.
Quelqu'un a-t-il des suggestions pour résoudre ce problème?
Est-ce que quelqu'un peut également indiquer tous les caractères réservés?
Un grand merci
Vous avez raison, mais ma question serait, comment puis-je appliquer une stratégie par programme pour éviter le problème? J'ai pensé attraper l'Exception et ensuite réessayer, mais ce serait une mauvaise pratique. – nuvio
Pour clarifier cette entrée ne fonctionnera pas. Merci pour votre suggestion. – nuvio