一直记不住json转java对象以及对象转json格式。今天系统的学习一下。
1、fastjson
//对象与json的转换
BaseVO baseVO = new BaseVO();
String baseStr = JSON.toJSONString(baseVO);
JSONObject parseObject = JSONObject.parseObject(baseStr);
BaseVO bVo = JSON.parseObject(baseStr, BaseVO.class);
//list与json的转换
List<BaseVO> bList = new ArrayList<BaseVO>();
List<BaseVO> students = JSON.parseObject(JSON.toJSONString(bList),new TypeReference<List<BaseVO>>(){});
//map与json的转换
Map<String, Object> map = new HashMap<>();
String mapStr = JSON.toJSONString(map);
JSONObject parseObject2 = JSONObject.parseObject(mapStr);
Map<String, Object> map1 = JSONObject.toJavaObject(parseObject2, Map.class);
2、gson
//对象与json的转换
BaseVO baseVO = new BaseVO();
String json = new Gson().toJson(baseVO);
JsonObject obj = new Gson().fromJson(json,JsonObject.class);
BaseVO bVo = new Gson().fromJson(json, BaseVO.class);
//list与json的转换
List<BaseVO> bList = new ArrayList<BaseVO>();
String json2 = new Gson().toJson(bList);
List<BaseVO> bVos = new Gson().fromJson(json2, (new TypeToken<List<BaseVO>>() {
}).getType());
//map与json的转换
Map<String, Object> map = new HashMap<>();
String json3 = new Gson().toJson(map);
Map<String, Object> map1 = new Gson().fromJson(json3, Map.class);
3、 net.sf.json
//对象与json的转换
BaseVO baseVO = new BaseVO();
JSONObject fromObject = JSONObject.fromObject(baseVO);
String jsonStr = fromObject.toString();
BaseVO bVo = (BaseVO)fromObject.toBean(fromObject, BaseVO.class);
//list与json的转换
List<BaseVO> bList = new ArrayList<BaseVO>();
JSONArray jsonArray = JSONArray.fromObject(bList);
List<BaseVO> bVos = jsonArray.toList(jsonArray);
//map与json的转换
Map<String, Object> map = new HashMap<>();
JSONArray jsonArray1 = JSONArray.fromObject(map);
Map<String, Object> map1 = (Map)JSONArray.toCollection(jsonArray1,Map.class);