首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Jackson JsonNode to带有排序关键字的字符串

Jackson JsonNode to带有排序关键字的字符串
EN

Stack Overflow用户
提问于 2013-09-23 13:55:02
回答 1查看 35.7K关注 0票数 32

我使用的是Jackson 2.2.3,需要将JsonNode树转换为具有排序字段键的字符串。我完全不清楚如何做到这一点,特别是因为它的对立面非常简单-- JsonNode jn = ObjectMapper.readTree(String s)

看起来正确的方法是void writeTree(JsonGenerator jgen,JsonNode rootNode)。但是,我看不到从JsonGenerator获取序列化的String的方法。我假设SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS仍然适用,因为JsonGenerator.Feature没有这个选项。有没有更简单的方法可以做到这一点?如果没有,我该如何从JsonGenerator中检索序列化的字符串?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-25 06:56:18

这是由杰克逊的一位作者提供的最简单的方法。目前还没有办法通过排序的键直接从JsonNode转到String

代码语言:javascript
复制
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;
}
票数 50
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18952571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档