相关疑难解决方法(0)

JSON ORDER_MAP_ENTRIES_BY_KEYS不一致

按照我在此问题中所读的内容,我正在尝试ORDER_MAP_ENTRIES_BY_KEYS

[ Jackson JsonNode使用已排序的键进行字符串化

但是在打印JsonNode对象时似乎不起作用。

例如,以下代码:

ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
mapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true);

HashMap<String,String> personHashMap = new HashMap<String,String>();
personHashMap.put("First", "Joe");
personHashMap.put("Last", "Bloe");
personHashMap.put("Age",  "32");
System.out.println("-- Printing personHashMap         gives:\n"+mapper.writeValueAsString(personHashMap));

String personJsonNode =
    "{\"Last\": \"Bloe\", \"First\": \"Joe\", \"Age\": \"32\"}";
JsonNode personJsonObj = mapper.readTree(personJsonNode);
System.out.println("-- Printing personJsonNode     gives:\n"+mapper.writeValueAsString(personJsonObj));
Run Code Online (Sandbox Code Playgroud)

打印以下输出:

-- Printing personHashMap gives:

{
  "Age" : "32",
  "First" : "Joe",
  "Last" : "Bloe"
}
-- Printing personJsonNode gives:

{
  "Last" : "Bloe",
  "First" : "Joe",
  "Age" : "32"
}
Run Code Online (Sandbox Code Playgroud)

注意,person personH​​ashMap是如何按键排序的,而不是personJsonNode对象。

我究竟做错了什么?谢谢。

java json

4
推荐指数
1
解决办法
1106
查看次数

标签 统计

java ×1

json ×1