第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將 DynamoDBAttributeValues 解組為具有不同屬性的結(jié)構(gòu)

將 DynamoDBAttributeValues 解組為具有不同屬性的結(jié)構(gòu)

Go
絕地?zé)o雙 2022-05-23 17:40:42
我從 dynamodb 讀取了一些數(shù)據(jù)。這就是我得到的{  Item: {    rating: {      N: "6"    },    pk: {      S: "artist-1"    },    gender: {      S: "woman"    },    sk: {      S: "Alexandra A"    }  }}現(xiàn)在我有一個(gè)看起來(lái)像這樣的結(jié)構(gòu):type Artist struct {    ArtistID string  `json:"id"`    Gender   string  `json:"gender"`    Name     string  `json:"name"`    Rating   float64 `json:"rating"`}現(xiàn)在我做artist := model.Artist{}err = dynamodbattribute.UnmarshalMap(result.Item, &artist)現(xiàn)在我可以使用artist.gender. 所以這很好,但我不能為 ArtistId 這樣做,因?yàn)樗谖业?dynamodb 中被稱為 pk 并且我使用 'id' 作為我的結(jié)構(gòu)。什么是解決這個(gè)問(wèn)題的干凈方法?我不想在結(jié)構(gòu)中用 'pk' 替換我的 'id'。
查看完整描述

1 回答

?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

UnmarshalMap()不支持任何給定的標(biāo)簽 Unmarshal。如果您不想在結(jié)構(gòu)中使用 'pk' 更改 'id',則必須在 map 之前手動(dòng)設(shè)置pkinid鍵的值。UnmarshalMap


func UnmarshalMap(m map[string]*dynamodb.AttributeValue, out interface{}) error {

    m["id"] = m["pk"]

    dynamodbattribute.UnmarshalMap(m, out)

}

最好為這種特殊情況調(diào)整創(chuàng)建一個(gè)自己的通用 Unmarshal 函數(shù),然后UnmarshalMap()在內(nèi)部調(diào)用。


artist := model.Artist{}

err = UnmarshalMap(result.Item, &artist)


查看完整回答
反對(duì) 回復(fù) 2022-05-23
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)