如何将airospike binMap转换为Go lang中的struct数组?

时间:2017-08-30 13:15:08

标签: go aerospike

我正在阅读来自aerospike的所有记录集如下:

stmt :=  as.NewStatement(namespace, set)
recordSet, err := db.AerospikeClient.Query(nil,stmt)

现在我想将结果记录映射到集合的结构。我怎么能这样做?

我尝试将record.Bins映射到struct但它没有用。 结果应该是struct下面的数组:

type MyStruct struct {
  name           string     `as:"userId" json:"userId"`
  UserList  []UserList `as:"userList" json:"userList"`
  CreatedAt        int64      `as:"createdAt" json:"createdAt"`
  UpdatedAt        int64      `as:"updatedAt" json:"updatedAt"`
}

以下是我尝试过的代码:

for rec := range recordSet.Records {
    var myStruct MyStruct
    jsonString, err := json.Marshal(rec.Bins)
    if err != nil {
        utils.LogErr("","", "Error occurred while marshling all the records from old set to my struct", err)
        return nil, err
    }
    err = json.Unmarshal(jsonString,&myStruct)
}

它给出了以下错误:

  

“error”:“json:unsupported type:map [interface {}] interface {}”

0 个答案:

没有答案