我的團隊正在使用 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 關注
- 145 瀏覽
添加回答
舉報
0/150
提交
取消