diff --git a/modules/core/src/main/java/net/ashald/envfile/providers/yaml/YamlEnvFileParser.java b/modules/core/src/main/java/net/ashald/envfile/providers/yaml/YamlEnvFileParser.java index 799b8d3..cebe904 100644 --- a/modules/core/src/main/java/net/ashald/envfile/providers/yaml/YamlEnvFileParser.java +++ b/modules/core/src/main/java/net/ashald/envfile/providers/yaml/YamlEnvFileParser.java @@ -4,7 +4,9 @@ import net.ashald.envfile.providers.EnvFileParser; import org.yaml.snakeyaml.Yaml; +import java.util.LinkedHashMap; import java.util.Map; +import java.util.Set; @AllArgsConstructor public class YamlEnvFileParser implements EnvFileParser { @@ -12,6 +14,18 @@ public class YamlEnvFileParser implements EnvFileParser { @Override public Map parse(String content) { - return yaml.load(content); + Map value = yaml.load(content); + Set keys = value.keySet(); + Map result = new LinkedHashMap<>(); + for (String key : keys) { + Object v = value.get(key); + if (v != null && v.getClass().equals(String.class)) { + result.put(key, (String) v); + } else { + String stringValue = String.valueOf(v); + result.put(key, stringValue); + } + } + return result; } }