一、序列化与反序列化
序列化:把java中的bean,map,collection等等转换成json字符串就称为序列化;
反序列化:把json字符串转换成bean,map,collection等就叫反序列化;
当然:不仅仅是转为json字符串叫序列化,转为字节数组等其实也叫序列化,不能狭隘的理解;
现有fastjson常用使用方式:
【JSON工具类】String(json)转换为具体的java对象(普通类型和复杂类型:需要使用TypeReference)
【JSON工具类】java对象转换为jsonString
【JSONObject承载类】充当任意类型的数据承载,其本质是map,以key-value方式存储我们的任意数据(value可以是任意类型:list,boolean,int,map等,需要看原始的数据结构是什么),如
【作为接口返回类型】对外提供api(目前多是feignClient)时,为了避免将model开发给外部(这些考虑似乎不太必要)将返回类型统一定为JSONObject,并由使用者根据结构进行解析
2.使用者使用时需要根据约定好的格式进行解析(一是不清晰,使用者无法根据api作为契约,还需要额外的文档或说明才能进行开发;二是不方便,需要每次进行解析)