我很难解组从 AWS lambda 函数发送给我的结构。
pkidata无论我做什么,所有字段都是空的。我创建了这个代码示例来隔离这个过程:
package main
import (
"encoding/base64"
"encoding/json"
"fmt"
)
func main() {
// yeah the string is long lol
var body ResponseBody
if err := json.Unmarshal([]byte(mystring), &body); err != nil {
fmt.Println(fmt.Errorf("failed unmarshaling response | %s", err.Error()))
}
fmt.Println(body.Error.ErrorMessage)
certChain, err := base64.StdEncoding.DecodeString(mystring)
if err != nil {
fmt.Println(err.Error())
}
fmt.Println(certChain)
}
type PkiGenerationInput struct {
TeacherUsername string `json:"teacherusername"`
}
type Response struct {
Headers ResponseHeaders `json:"headers"`
Body ResponseBody `json:"body"`
}
type ResponseHeaders struct {
ContentType string `json:"Content-Type"`
}
type ResponseBody struct {
PkiData ParsablePkiData `json:"pkidata"`
Error struct {
ErrorMessage string `json:"errormessage"`
ErrorType string `json:"errortype"`
} `json:"error"`
}
type ParsablePkiData struct {
Certificate string `json:"certificate"`
PrivateKey string `json:"privatekey"`
CertificateChain string `json:"certificatechain"`
}
这是输出
errormessagetest
illegal base64 data at input byte 0
[]
事实上,我可以阅读errormessagetest节目,解组有点管用,所以这很奇怪。
我检查了任何未导出的字段,但我们可以清楚地看到它们都是大写的。我还“只是为了看看”减小了字符串大小,但它没有改变任何东西。
RISEBY
相关分类