gpt4 book ai didi

go - aws-sdk-go dynamodbattribute 未解码的 map 解码列表

转载 作者:IT王子 更新时间:2023-10-29 02:09:54 26 4
gpt4 key购买 nike

我有一个具有以下结构的 Dynamodb 表:

type StatusItem struct {
requestStatus string
timestamp string
RequestId string
}

我有这样的代码:

items := []StatusItem{}
err = dynamodbattribute.UnmarshalListOfMaps(result.Items, &items)
if err != nil {
exitWithError(fmt.Errorf("failed to unmarshal Query result items, %v", err))
}

// Print out the items returned
for i, item := range items {
fmt.Println(i)
fmt.Printf(item.RequestId, item.requestStatus)
}

但是,items 是空的。

当我在项目中放置观察者时,我可以看到它解码到结构,但所有值都是空的。

如果我这样做: log.println(result.items) 我可以看到那里的值(虽然有点难看)

%!(EXTRA string=)[map[timestamp:{
S: "2018-04-18 12:04:43.761"
} RequestId:{
S: "9"
} requestStatus:{
S: "REQUEST_RECEIVED"
}]

我做错了什么?

最佳答案

感谢@Peter 为我指明了正确的方向。

解决方案很简单(尽管这种情况相当愚蠢)。

如中所述:https://til.hashrocket.com/posts/3512417fb0-private-vs-public-struct-members

小写的起始成员是私有(private)的,资本是公开的。

为了让它正常工作,我需要更新我的结构:

type StatusItem struct {
requestStatus string
timestamp string
RequestId string
}

到:

type StatusItem struct {
RequestStatus string
Timestamp string
RequestId string
}

关于go - aws-sdk-go dynamodbattribute 未解码的 map 解码列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49947298/

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