gpt4 book ai didi

java - Voldemort 中任意 HashMap 的 JSON 序列化程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:02:58 25 4
gpt4 key购买 nike

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

根据文档,我应该使用这种语法:

{"fname":"string", "lname":"string", "id":"int32", "emails":["string"]}

表示我想存储 Java bean 的 HashMap 表示,但对允许的键有限制(仅 fnamelnameidemails) 及其类型。

我需要的是能够像这样存储任意 map :

{"name":"fred", "id":15}

或者像这样:

{"apples":"50$", "oranges":"15€"}

(Map值无意义,只是键名不同,值类型不同的map说明)

有没有一种方法可以定义接受任意 HashMap 的模式?

最佳答案

我发现有用的是只使用通用原始存储(传递 byte[] 的地方),并在客户端进行预序列化。这使用起来很简单(我使用 Jackson ):

  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,而是简单的二进制字典),但在我看来,使用它并没有太大好处,因为您无法查询它或请求文档的子集。

关于java - Voldemort 中任意 HashMap 的 JSON 序列化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4356854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com