Если я создаю «фотографию» без каких-либо тегов, она сохраняется в DynamodB как
"tags": {
"NULL": true
},
Но когда я запрашиваю и разбираю запись, я ожидаю, что вместо этого она преобразуется в пустой фрагмент, и я получаюthis:
[{"photo_id":"bmpuh3jg","tags":null}]
Возможно ли вместо этого преобразовать его в пустой срез? например,
[{"photo_id":"bmpuh3jg","tags":[]}]
ПРИМЕР КОДА
Моя структура
type Photo struct {
Id string `json:"photo_id"`
Tags []string `json:"tags"`
}
Запрос
photo := &Photo{}
input := &dynamodb.QueryInput{
TableName: aws.String("local.photos"),
KeyConditionExpression: aws.String("photo_id = :photo_id"),
ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{
":photo_id": {
S: aws.String(photo_id),
},
},
}
db_result, err := db.Query(input)
if err != nil {
return nil, err
} else if *db_result.Count == int64(0) {
// No item found
return nil, err
}
err = dynamodbattribute.UnmarshalListOfMaps(db_result.Items, photo)
if err != nil {
return nil, err
}
photoJSON, err := json.Marshal(photo)
if err != nil {
return nil, err
}
return photoJSON, nil