如何对Jackson的JsonNode对象进行序列化?

6
我正在用memcached替换内部缓存系统,但是由于JsonNode对象没有实现Serializable,所以memcached客户端不能缓存它们。 有没有办法实现对JsonNode对象进行序列化?Jackson是否提供了这个类的Serializable等效版本?
1个回答

9

最好将JSON序列化为字节流。在Jackson中,可以使用ObjectMapper来完成,例如:

byte[] raw = objectMapper.writeValueAsBytes(root);

MemCache不需要Serializable,因为它全部都是原始字节;尽管Java客户端可能会试图处理序列化,但实际上并不需要。


我来到这里后意识到自己犯了错误,因为我想缓存实际的json(字符串)而不是JsnNode(对象)。这可能对那些掉进同样陷阱的人有用 :) - Xorty
@Xorty 对,那是一个常见的错误。大多数情况下不需要构建对象表示来缓存东西。 - StaxMan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接