You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取空字符串环境变量到HOCON配置出现双引号异常问题

解决HOCON读取空字符串环境变量异常及默认值问题

问题1:读取空环境变量得到""""

你在.env中设置export SUPPORTED_VALUES=""时,shell会将带引号的空字符串传递给程序,HOCON解析时会保留外层引号,再叠加自身字符串解析的引号,最终导致得到""""。

解决方法:
将环境变量设置改为不带引号的形式:

export SUPPORTED_VALUES=

这样shell会传递真正的空字符串,HOCON解析后就能得到正常的""。

问题2:不设置环境变量时读取到"null"

你的HOCON配置supported-values: ${?SUPPORTED_VALUES}在环境变量不存在时,该配置项的值会被设为null,调用.getString()时会将null直接转为字符串"null"。

解决方法:

方案1:给HOCON配置添加默认空字符串

修改HOCON配置,为该字段指定默认空字符串:

{
  feature:
    supported-values: ${?SUPPORTED_VALUES} ""
}

环境变量存在时使用其值,不存在时自动使用空字符串。

方案2:使用可选属性读取逻辑

改用getOptionalString()方法读取,当属性不存在时返回null,再通过orEmpty()转为空字符串:

private val supportedValues = appConfig.getOptionalString("feature.supported-values").orEmpty()

内容的提问来源于stack exchange,提问作者kamal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 03:22:12