gpt4 book ai didi

amazon-web-services - 在 AWS Lambda 上使用 golang 解码错误,在本地工作

转载 作者:数据小太阳 更新时间:2023-10-29 03:09:06 25 4
gpt4 key购买 nike

我在 golang 中创建了应该支持端点 API(通过获取查询)的代码。这是 API 端点的文档: https://developer.dotdigital.com/docs/get-all-campaigns

代码如下所示:

type Campaign struct {
Id int `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Subject string `json:"subject,omitempty"`
FromName string `json:"fromName,omitempty"`
FromAddress struct {
Id int `json:"id,omitempty"`
Email string `json:"email,omitempty"`
}
HtmlContent string `json:"htmlContent,omitempty"`
PlainTextContent string `json:"plainTextContent,omitempty"`
ReplyAction string `json:"replyAction,omitempty"`
IsSplitTest bool `json:"isSplitTest,omitempty"`
Status string `json:"status,omitempty"`
}

func (dcfg DotmailerApiConfig) GetContacts2() ([]*dotmailermodels.Contact) {
var (
allContacts, respContacts []*dotmailermodels.Contact
selected = 1000
skip = 0
err error
)
for true {
url := dcfg.Url + fmt.Sprintf("v2/contacts?withFullData=%s&select=%s&skip=%s",
strconv.FormatBool(false),
strconv.Itoa(selected),
strconv.Itoa(skip))
resp := dcfg.GetRequesDotmailertBuilder(url)
err = json.Unmarshal(resp, &respContacts)
if err != nil {
Error.Println(err) // just error trace
}
allContacts = append(allContacts, respContacts...)
if len(respContacts) == 1000 {
skip += 1000
respContacts = nil
continue
}
break
}
return allContacts
}


当我在我的 PC 上运行时,我得到了正确的响应。当我在 Lambda 中使用它时,出现此错误:

[ERROR] 2019/03/24 18:37:26 dotmailergetrequests.go:110: json: cannot unmarshal object into Go value of type []*dotmailermodels.Campaign

你知道为什么吗?

最佳答案

试试这个:

type Address struct {
Id int `json:"id,omitempty"`
Email string `json:"email,omitempty"`
}
type Campaign struct {
Id int `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Subject string `json:"subject,omitempty"`
FromName string `json:"fromName,omitempty"`
FromAddress *Address `json:"fromAddress,omitempty"`
HtmlContent string `json:"htmlContent,omitempty"`
PlainTextContent string `json:"plainTextContent,omitempty"`
ReplyAction string `json:"replyAction,omitempty"`
IsSplitTest bool `json:"isSplitTest,omitempty"`
Status string `json:"status,omitempty"`
}

关于amazon-web-services - 在 AWS Lambda 上使用 golang 解码错误,在本地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55327248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com