我的团队正在使用 Golang 进行编码,我们将所有配置放在一个conf.json有趣的部分中,如下所示,另一个config_schema.json文件用于 json 验证。{"host": "192.168.0.34","port": "5678","username": "test_user","password": "random_pass","dbName": "dummy"}我的问题是,我可以定义环境变量 .eg $USER 和 $PASS 并按如下方式使用它们还是出于安全目的有适当的方法来实现这一点?{"host": "192.168.0.34","port": "5678","username": "$USER","password": "$PASS","dbName": "dummy"}
2 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
由于问题已经存在 1 年,可能为时已晚但您可以结合使用https://golang.org/pkg/os/#ExpandEnv 和https://golang.org/pkg/encoding/json/#Unmarshaler
为了使用 Unmarshaler,你应该有一个struct
对应于你的 json。然后您可以覆盖默认方法并仅替换您想要的字段。更简单的示例如下所示
result := os.ExpandEnv(jsonString)
现场示例: https: //play.golang.org/p/78C2zyYP6vL
- 2 回答
- 0 关注
- 120 浏览
添加回答
举报
0/150
提交
取消