Вам необходимо отредактировать store.xml
, чтобы изменить настройку сериализатора значений.Прямо сейчас это должно выглядеть примерно так:
<stores>
<store>
<name>test</name>
<persistence>bdb</persistence>
<routing>client</routing>
<replication-factor>1</replication-factor>
<required-reads>1</required-reads>
<required-writes>1</required-writes>
<key-serializer>
<type>string</type>
</key-serializer>
<value-serializer>
<type>string</type>
</value-serializer>
</store>
</stores>
Теперь вам нужно изменить value-serializer
на:
<value-serializer>
<type>json</type>
<schema-info>["string"]</schema-info>
</value-serializer>
Обратите внимание, что это не будет отображатьсяв массив Java, но в список Java.Если это то, к чему вы действительно не хотите, это настолько близко, насколько я знаю.
Однако вы могли бы захотеть что-то вроде этого:
<value-serializer>
<type>json</type>
<schema-info>{"occurences":"int32", "site":"string"}</schema-info>
</value-serializer>
Тогда вы можете (фрагмент):
Map<String, Object> pair = new HashMap<String,Object>();
pair.put("occurences", 10);
pair.put("site", "www.stackoverflow.com");
client.put("question",pair);
System.out.println(client.get("question"));
Надеюсь, это было полезно!Вы можете посмотреть документацию по этому адресу:
http://project -voldemort.com / design.php
Подробности типа сериализации JSON