私はVoldemortのKey-Valueストアの設定を設定しようとしています。さて、私はそれに任意のハッシュマップを格納することができるようにしたいと思いますが、私はそうする方法を見つけていない(または可能な場合)。私はこの構文を使用する必要がある文書によるとVoldemortの任意のHashMaps用のJSONシリアライザ
:
{"fname":"string", "lname":"string", "id":"int32", "emails":["string"]}
私は、Java BeanのHashMapの表現を保存することを指示するのではなく、許可されたキーに制約を持つ(唯一fname
、lname
、id
とemails
)およびそのタイプ。私は必要があるだろう何
は、このような任意のマップを保存することができることです。
{"name":"fred", "id":15}
またはこのような:
{"apples":"50$", "oranges":"15€"}
(地図値は、とマップの単なるイラスト無意味です異なるキー名、および値タイプ)
任意のハッシュマップを受け入れるスキーマを定義する方法はありますか?
これはかなり簡単です。この 'byte []'はJSON文字列表現であり、シリアル化されたJavaオブジェクトではありません。 –
おそらく、異なるバージョンのJacksonを使用しています。 1.6.3では 'writeValueAsString'は' String'を返し、 'byte []'の 'readValue'はいくつかの余分なパラメータを持っています。とにかく、私はあなたのアプローチを試み、それは魅力のように動作します!ありがとう.. –
ああ、私の悪い - 代わりに "writeValueAsBytes()"する必要があります。聞いてうれしいです。これは一般的な使用例ですが、私はまだV自身で使用していません。 – StaxMan