1 回答

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊
綜合所有評論的答案:
首先,我的“愚蠢錯誤”是因為我試圖解碼錯誤的變量:
// mystring needs to be replaced by body.PkiData.Certificate
base64.StdEncoding.DecodeString(mystring)
但研究讓我們發(fā)現(xiàn),json.Unmarshal()當(dāng)結(jié)果類型與聲明的類型匹配時,該函數(shù)會自行解碼 base64。鑒于編碼數(shù)據(jù)是 a ,我只是在結(jié)構(gòu)中用 a[]byte替換了string類型。[]byte
這允許創(chuàng)建以前代碼的更簡單版本:
type ResponseBody struct {
PkiData PkiData `json:"pkidata"`
}
type PkiData struct {
Certificate []byte
PrivateKey []byte
CertificateChain []byte
}
var body ResponseBody
if err := json.Unmarshal(rawResp.Payload, &body); err != nil {
return PkiData{}, fmt.Errorf("failed unmarshaling response | %s", err.Error())
}
- 1 回答
- 0 關(guān)注
- 207 瀏覽
添加回答
舉報