packagecom.royan.weakey.platform.common.jdk18;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.serializer.SerializerFeature;importcom.royan.weakey.platform.dataobject.ContactDO;importlombok.extern.slf4j.Slf4j;importjava.util.ArrayList;importjava.util.List;/*** json 工具的使用
* 1)json字符串转为具体的对象
* 2) 对象转为json串
* 3) 集合转为json数组
* 4) json数组转为集合*/@Slf4jpublic classJsonUtil {private String name = "{\"name\":\"bai\",\"wo\":\"中国人\"}\n";public static T jsonStrToObject(String str, Classclz) {
log.info("str--{}", str);
T t=JSON.parseObject(str, clz);returnt;
}public static List jsonStrToList(String str, Classclz) {
log.info("str--{}", str);
List list =JSON.parseArray(str, clz);returnlist;
}public static String objToJsonStr(T t) {
log.info("t--{}", JSON.toJSONString(t, SerializerFeature.DisableCircularReferenceDetect));returnJSON.toJSONString(t, SerializerFeature.DisableCircularReferenceDetect);
}public static String listTOJsonStr(Listt) {
log.info("t--{}", JSON.toJSONString(t, SerializerFeature.DisableCircularReferenceDetect));returnJSON.toJSONString(t, SerializerFeature.DisableCircularReferenceDetect);
}public static voidmain(String[] args) {
ContactDO contactDO= newContactDO();
contactDO.setOwnerId("ownerId");
contactDO.setContactPhone("contactPhone");
contactDO.setContactId("contactId");
contactDO.setContactName("contactName");
objToJsonStr(contactDO);
log.info("\n");
List list = new ArrayList<>();
list.add(contactDO);
list.add(contactDO);
list.add(contactDO);
listTOJsonStr(list);
log.info("\n");
String str= "{\"contactId\":\"contactId\",\"contactName\":\"contactName\",\"contactPhone\":\"contactPhone\",\"ownerId\":\"ownerId\"}";
ContactDO contactDO1= jsonStrToObject(str, ContactDO.class);
log.info("contactDO1,contactName:{},setOwnerId:{}", contactDO1.getContactName(), contactDO1.getOwnerId());
log.info("\n");
String arrayStr= "[{\"contactId\":\"contactId\",\"contactName\":\"contactName\"," +
"\"contactPhone\":\"contactPhone\",\"ownerId\":\"ownerId\"},{\"contactId\":\"contactId\",\"contactName\":\"contactName\",\"contactPhone\":\"contactPhone\",\"ownerId\":\"ownerId\"},{\"contactId\":\"contactId\",\"contactName\":\"contactName\",\"contactPhone\":\"contactPhone\",\"ownerId\":\"ownerId\"}]\n";
List contactDOS = jsonStrToList(arrayStr, ContactDO.class);
log.info("list.get())-{}", contactDOS.get(0).toString());
}
}