java - 如何通过 KEY 按字母顺序创建 JSON (Java)

标签 java json

我收到 JSON,但它不是按字母顺序排列的。如何按 KEY 排序 json ? JSON:

{"b":"3","c":"1","a":"4"}

预期输出:

{"a":"4","b":"3","c":"1"}

请帮我解决这个问题。我真的很感谢你的帮助!谢谢!

最佳答案

您可以使用 jackson 库。

首先添加一个jackson到maven依赖中。

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.8.7</version>
    </dependency>

然后使用下面的代码。

    String jsonData = "{\"e\":\"6\",\"f\":\"1\",\"b\":\"3\",\"c\":\"1\",\"a\":\"4\"}";
    ObjectMapper om = new ObjectMapper();
    om.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true);
    Map<String, Object> map = om.readValue(jsonData, HashMap.class);
    String json = om.writeValueAsString(map);
    System.out.println(json); // result : {"a":"4","b":"3","c":"1","e":"6","f":"1"}

当我测试它时,我得到排序形式的输出。

{"a":"4","b":"3","c":"1","e":"6","f":"1"}

关于java - 如何通过 KEY 按字母顺序创建 JSON (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42732655/

相关文章:

java - 无法写入核心转储。默认情况下,在Eclipse的Windows客户端版本上不启用小型转储

java - 如何在 Mongo 中正确设置 JsonNode 但没有像在 Java 中使用 Jackson 的 String 那样设置它?

javascript - 谷歌地图 api json 传递数组

android - 查尔斯代理修改响应

Java Json 保存时美化

Java Drools - 应用哪些规则和事实列表

java - 如何在并发 HashMap 中声明一个易变列表?

java - java.time.Duration 的 Android 等价物是什么?

java - ZK 应用程序测试套件 (ZATS) 返回 java.lang.NoClassDefFoundError : org/zkoss/zats/ZatsException

javascript - 如何在 React Native 中连接 url