在Golang中解析dynamodb.GetItemOutput类型

So basically I an kinda new to golang and need to parse the output of dynamodb.GetItemOutput type. Here is a sample:

{
    Item: {
      share: {
        L: [{
        S: "Hello"
          },{
        S: "Brave"
          }]
      },
      userid: {
        S: "43"
      },
      amount: {
        S: "1000"
      },
      library: {
        L: [{
        S: "Demons"
          },{
        S: "HUMBLE"
          }]
      }
    }
}

Any help would be wonderful. Thanks a lot.

I would recommend to use ODM (Object Document Mapper) for Go

We have used the following and would recommend it.

https://github.com/guregu/dynamo

You can use with regular json objects and ODM will convert it to dynamodb form and manage mapping automatically.

    db := dynamo.New(session.New(), &aws.Config{Region: aws.String("us-west-2")})
    table := db.Table("Widgets")

    // put item
    w := widget{UserID: 613, Time: time.Now(), Msg: "hello"}
    err := table.Put(w).Run() 

    // get the same item 
    var result widget
    err = table.Get("UserID", w.UserID).
        Range("Time", dynamo.Equal, w.Time).
        Filter("'Count' = ? AND $ = ?", w.Count, "Message", w.Msg). // placeholders in expressions
        One(&result)

    // get all items
    var results []widget
    err = table.Scan().All(&results)

In the above example the code just deals only with javascript objects, mapping to dynamodb is automatically taken care.

Hope it helps.