Java主流的转化工具Jackson和FastJson
介绍两种Java主流的转化工具Jackson和FastJson,一般项目中建议只选其中一种。
Jackson
1.将JSON字符串转成Java对象:readvalue方法
第一个参数是Json字符串,第二个参数是将要转化类的类型
ObjectMapper objectMapper = new ObjectMapper();
Match Match = objectMapper.readValue(jsonStr, Match.class);
2.将JSON字符串转成List:readValue方法
第一个参数是JSON 字符串,第二个参数是转化的目标TypeReference(类型参照)对象,这里指定其泛型为List<Match>
ObjectMapper objectMapper = new ObjectMapper();
List<Match> match = objectMapper.readValue(matchListJson, TypeReference<List<Match>>);
3.将Java对象转成JSON 字符串:writeValueAsString方法
第一个参数是java对象
ObjectMapper objectMapper = new ObjectMapper();
String matchJson = objectMapper.writeValueAsString(Match);
4.将List转成JSON字符串:writeValueAsString方法
ObjectMapper objectMapper = new ObjectMapper();
String matchListJson = objectMapper.writeValueAsString(Match);
FastJson
Json字符串转换成Json对象
JSONObject jsonData = (JSONObject)JSONObject.parse(jsonStr);
Json字符串转换成Java对象
1.将JSON字符串转成Java对象:JSONArray.parseArray
Match match = JSONObject.parseObject(jsonStr);
2.将JSON字符串转成List:parseArray
List<Match> match = JSONArray.parseArray(matchListJson).toJavaList(Match.class);
3.将Java对象转成JSON字符串:toJSONString
String matchJson = JSONObject.toJSONString(match);
4.将List转成JSON字符串:toJSONString
String gameListJson = JSONObject.toJSONString(gameList);