杰克逊不关心地图中元素的顺序

Ale*_*ams 2 json jackson

我正在使用 Jackson 库生成 JSON。我将输入映射传递给 ObjectMapper

例如。这是我如何生成地图的代码片段。我正在向地图添加组、链接、标题。JSON 输出具有按链接、组、标题顺序排列的对象。

Map beanMap = new HashMap();
beanMap=(keybean.getallSelectedViewGroups());
beanMap.put("Link",keybean.getHrefTex());
beanMap.put("Title",keybean.getTitle());
Run Code Online (Sandbox Code Playgroud)

我用了

mapper.writeValueAsString(beanMap) to generate the JSON String.
Run Code Online (Sandbox Code Playgroud)

尽管对象的排序方式并不重要,但我只是想知道如何以所需的顺序生成 JSON 输出。

Pas*_*nas 7

取决于什么“订单”适合您。Jackson 只是迭代映射中的条目并将其输出为 JSON。您可以使用TreeMaporLinkedHashMap代替,或者使用SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS.