Je suis incapable de unmarshall une structure de données assez simple:Comment analyser le résultat dynamodb en un entier?
"video_lite": { "id": 1573, "name": "Blade Runner (Movie)" }
Voici mon code qui ne fonctionne pas:
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/dynamodb"
"github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute"
)
type Video struct {
video_lite struct {
name string
id int
}
}
func check(err error) {
if err != nil {
panic(err.Error())
}
}
func main() {
svc := dynamodb.New(session.New())
input := &dynamodb.GetItemInput{
Key: map[string]*dynamodb.AttributeValue{"uuid": {S: aws.String("d610e853-5222-462c-9bb3-26ff5aa86e9d")}},
ProjectionExpression: aws.String("video_lite"),
TableName: aws.String("staging_video_ingestion"),
}
result, err := svc.GetItem(input)
check(err)
fmt.Printf("%+v\n", result.Item)
var t Video
err = dynamodbattribute.UnmarshalMap(result.Item, &t)
check(err)
fmt.Printf("%+v\n", t)
}
La sortie ressemble à:
map[video_lite:{
M: {
id: {
N: "1573"
},
name: {
S: "Bladerunner (Movie)"
}
}
}]
{video_lite:{name: id:0}}
Pourquoi le UnmarshalMap ne fonctionne-t-il pas?
que '{Essayé video_lite: {name: {N: S: } id: {N: S: }}}' était la sortie. Également essayé d'abandonner 'video_lite' et a obtenu' {nom: {N: S: } id: {N: S: }} ': / –
hendry