1. Jackson
需要借助 Jackson 提供的 ObjectMapper
对象来完成转化:
ObjectMappper objectMapper=new ObjectMapper();
将 JSON 字符串 转成 Java 对象:readValue
// 将 JSON 字符串 转成 Java 对象
Game game = objectMapper.readValue(jsonStr, Game.class);
将 Java 对象转成 JSON 字符串:writeValueAsString
String str= objectMapper.writeValueAsString(game);
将 List 转成 JSON 字符串:writeValueAsString
// 将 List<Game> 转成 JSON 字符串
String gameListJson = objectMapper.writeValueAsString(gameList);
将 JSON 字符串 转成 List:readValue
// 将 JSON 字符串 转成 List<Game>
List<Game> gameListFromJson = objectMapper.readValue(gameListJson, new TypeReference<List<Game>>() {});
2. FastJson
需要借助 FastJson 提供的 JSONObject
对象来完成转化。
将 JSON 字符串 转成 Java 对象:parseObject
// 将 JSON 字符串 转成 Java 对象
Game game = JSONObject.parseObject(jsonStr, Game.class);
//将
将 Java 对象转成 JSON 字符串:toJSONString
// 将 Java 对象转成 JSON 字符串
String gameJson = JSONObject.toJSONString(game);
// 将 List<Game> 转成 JSON 字符串
String gameListJson = JSONObject.toJSONString(gameList);
将 JSON 字符串 转成 List:parseArray
// 将 JSON 字符串 转成 List<Game>
// fastjson 1.2.x 版本:List<Game> gameListFromJson = JSONObject.parseArray(gameListJson, Game.class);
List<Game> gameListFromJson = JSONArray.parseArray(gameListJson).toJavaList(Game.class);
3. Gson
需要借助 Gson
对象来完成转化:
Gson gson = new Gson();
将 JSON 字符串 转成 Java 对象:fromJson
// 将 JSON 字符串 转成 Java 对象
Game game = gson.fromJson(jsonStr, Game.class);
将 Java 对象转成 JSON 字符串:toJson
// 将 Java 对象转成 JSON 字符串
String gameJson = gson.toJson(game);
将 List 转成 JSON 字符串:toJson
// 将 List<Game> 转成 JSON 字符串
String gameListJson = gson.toJson(gameList);
将 JSON 字符串 转成 List:fromJson
// 将 JSON 字符串 转成 List<Game>
List<Game> gameListFromJson = gson.fromJson(gameListJson, new TypeToken<List<Game>>() {}.getType());
4. Hutool
Hutool 提供的 JSONUtil
对象来完成转化。
将 JSON 字符串 转成 Java 对象:toBean
// 将 JSON 字符串 转成 Java 对象
Game game = JSONUtil.toBean(jsonStr, Game.class);
将 Java 对象转成 JSON 字符串:toJsonStr
// 将 Java 对象转成 JSON 字符串
String gameJson = JSONUtil.toJsonStr(game);
将 List 转成 JSON 字符串:toJsonStr
// 将 List<Game> 转成 JSON 字符串
String gameListJson = JSONUtil.toJsonStr(gameList);
将 JSON 字符串 转成 List:toList
// 将 JSON 字符串 转成 List<Game>
List<Game> gameListFromJson = JSONUtil.toList(gameListJson, Game.class);