如何在 Go 中反序列化 Aerospike 记录?
How to desialize Aerospike record in Go?
我在 aerospike 中有相当复杂的模式:-
DATA SCHEMA:
bin name: user_ids
Type: List of Strings
bin name: user_w
Type: List of Integers
bin name: users
Type: map<String<List>> where list is again list(size 3) of lists each of type String
我能够将此架构直接读入具有以下数据结构的 Java 对象:-
userIds = (List<String>) r.getList("user_ids");
userWeights = (List<String>) r.getList("user_w");
users = (Map<String, List>) r.getValue("users");
但是我的以下 go 结构无法检索它。它的到来是空的。结构模式有问题吗?
type AudienceRecord struct {
user_ids []string
user_w []int64
users map[string][][]string
}
您的 user_w 架构是整数列表还是字符串列表?
因为你的 java 和 go 模式在这里不等同。
这就是 Go struct 无法解析您的 aerospike 数据的原因。
我在 aerospike 中有相当复杂的模式:-
DATA SCHEMA:
bin name: user_ids
Type: List of Strings
bin name: user_w
Type: List of Integers
bin name: users
Type: map<String<List>> where list is again list(size 3) of lists each of type String
我能够将此架构直接读入具有以下数据结构的 Java 对象:-
userIds = (List<String>) r.getList("user_ids");
userWeights = (List<String>) r.getList("user_w");
users = (Map<String, List>) r.getValue("users");
但是我的以下 go 结构无法检索它。它的到来是空的。结构模式有问题吗?
type AudienceRecord struct {
user_ids []string
user_w []int64
users map[string][][]string
}
您的 user_w 架构是整数列表还是字符串列表? 因为你的 java 和 go 模式在这里不等同。 这就是 Go struct 无法解析您的 aerospike 数据的原因。