杰克逊JsonNode字符串与排序键
我正在使用Jackson
2.2.3,需要将JsonNode树转换为具有排序字段键的字符串。我完全不清楚如何执行此操作,尤其是由于相反的操作非常简单-
JsonNode jn = ObjectMapper.readTree(String s)
。
看来正确的方法是void writeTree(JsonGenerator jgen,JsonNode
rootNode)。但是,我看不到String
从那里获得序列化的方法JsonGenerator
。我认为这SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS
仍然适用,因为JsonGenerator.Feature
s没有该选项。有没有一种更简单的方法可以执行此操作-
否则,如何从中检索序列化的字符串JsonGenerator
?
回答:
正如杰克逊的一位作者所提供的,这是最简单的方法。目前还没有任何办法从直行JsonNode
至String
与排序键。
private static final ObjectMapper SORTED_MAPPER = new ObjectMapper();static {
SORTED_MAPPER.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true);
}
private String convertNode(final JsonNode node) throws JsonProcessingException {
final Object obj = SORTED_MAPPER.treeToValue(node, Object.class);
final String json = SORTED_MAPPER.writeValueAsString(obj);
return json;
}
以上是 杰克逊JsonNode字符串与排序键 的全部内容, 来源链接: utcz.com/qa/400660.html