gpt4 book ai didi

java - jackson JsonNode 到带有排序键的字符串

转载 作者:IT老高 更新时间:2023-10-28 20:33:33 28 4
gpt4 key购买 nike

我正在使用 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 检索序列化字符串?

最佳答案

这是 jackson 的一位作者提供的最简单的方法。目前没有办法通过排序键直接从 JsonNodeString

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;
}

关于java - jackson JsonNode 到带有排序键的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18952571/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com