首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Voldemort中任意HashMaps的JSON序列化程序

Voldemort中任意HashMaps的JSON序列化程序
EN

Stack Overflow用户
提问于 2010-12-05 09:18:06
回答 1查看 1K关注 0票数 3

我正在尝试设置Voldemort键值存储的配置。现在,我希望能够在其中存储任意的hashmap,但是我还没有找到这样做的方法(或者如果可能的话)。

根据文档,我应该使用以下语法:

代码语言:javascript
复制
{"fname":"string", "lname":"string", "id":"int32", "emails":["string"]}

表示我希望存储Java bean的HashMap表示,但对允许的键(只有fnamelnameidemails)及其类型有约束。

我需要的是能够像这样存储一个任意的地图:

代码语言:javascript
复制
{"name":"fred", "id":15}

或者像这样:

代码语言:javascript
复制
{"apples":"50$", "oranges":"15€"}

(映射值是没有意义的,只是具有不同键名和值类型的映射的说明)

有没有办法定义一个可以接受任意hashmap的模式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-07 02:48:11

我发现有用的是只使用通用的原始存储(在那里传递byte[] ),并在客户端预序列化东西。这很容易使用(我使用Jackson):

代码语言:javascript
复制
  ObjectMapper mapper = new ObjectMapper();
  // to store:
  byte[] data = mapper.writeValueAsBytes(myMap);
  // and when retrieving back:
  Map<String,Object> data = mapper.readValue(data, Map.class);

虽然Voldemort确实支持它的“类JSON”存储(据我所知,它不是JSON,而是简单的二进制字典),但在我看来,使用它没有太多好处,因为您不能对它进行查询或请求文档的子集。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4356854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档