java 字符串 转json 并按key排序
时间: 2023-09-14 10:04:45 浏览: 212
在 Java 中,可以使用 Gson 库将字符串转换成 JSON 对象,然后按照指定的 key 进行排序,示例代码如下:
```java
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.*;
public class JsonSorter {
public static void main(String[] args) {
// 原始 JSON 字符串
String jsonString = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}";
// 将 JSON 字符串转换成 JSON 对象
JsonParser jsonParser = new JsonParser();
JsonElement jsonElement = jsonParser.parse(jsonString);
JsonObject jsonObject = jsonElement.getAsJsonObject();
// 将 JSON 对象的 key 存入 List 中并排序
List<String> keys = new ArrayList<String>();
for (Map.Entry<String, JsonElement> entry : jsonObject.entrySet()) {
keys.add(entry.getKey());
}
Collections.sort(keys);
// 根据排序后的 key 重新构建 JSON 对象
JsonObject sortedJsonObject = new JsonObject();
for (String key : keys) {
sortedJsonObject.add(key, jsonObject.get(key));
}
// 将排序后的 JSON 对象转换成字符串
Gson gson = new Gson();
String sortedJsonString = gson.toJson(sortedJsonObject);
System.out.println(sortedJsonString); // 输出:{"age":18,"gender":"male","name":"Tom"}
}
}
```
在上面的示例代码中,首先将原始的 JSON 字符串转换成 JSON 对象,然后将 JSON 对象的 key 存入 List 中并排序,最后根据排序后的 key 重新构建 JSON 对象,并将其转换成字符串。注意,这里使用了 Gson 库来进行 JSON 对象和字符串之间的转换。
阅读全文