我得到了JSON
,但它不是按字母顺序排列的。如何按它排序 ?JSON:json
KEY
{"b":"3","c":"1","a":"4"}
Run Code Online (Sandbox Code Playgroud)
预期输出:
{"a":"4","b":"3","c":"1"}
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题。我真的很感谢你的帮助!谢谢!
您可以使用杰克逊库。
首先在maven依赖中添加一个jackson。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
然后使用下面的代码。
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"}
Run Code Online (Sandbox Code Playgroud)
当我测试它时,我得到排序形式的输出。
{"a":"4","b":"3","c":"1","e":"6","f":"1"}
小智 0
您可以使用地图来实现此目的,然后根据地图键对地图进行排序。之后将其插入到 JSON 对象中。在您的情况下,将地图声明为:
Map<String,Integer> mapName = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10441 次 |
最近记录: |