使用Jackson(JSON)将Redis密钥反序列化为字段值

时间:2016-01-21 14:32:05

标签: java json jackson

我有以下课程用户:

// userId is Redis key
@JsonIgnoreProperties("userId")
class User {
    private int userId;
    private String firstName;
    private String lastName;

    //setter, getter..
}

userId用作Redis记录密钥(格式为user:[userId])。为了节省一些空间,我不想将它另外存储在JSON字段中,这就是我@JsonIgnoreProperties("userId")的原因。

以下是Redis中的示例用户实例:

127.0.0.1:6379> get "user:1234"
"{\"firstName\":\"John\",\"lastName\":\"Smith\"}"

如何使用Jackson2JsonRedisSerializer反序列化此类JSON对象?反序列化后,上面的例子userId值将设置为1234。

1 个答案:

答案 0 :(得分:0)

我不认为您可以直接对其进行反序列化,包括用户ID,您可能希望首先使用指定对象中的记录键来获取记录,并将用户ID设置为该记录。