JsonFileUtil.createJsonFile("/Users/wuyibo/Desktop","文件名",waImgTagFile);
package com.polang.common.utils;
import java.io.*;
/**
* Create by wyb 2022/2/15 4:03 PM
* description : 生成json文件工具类
*/
public class JsonFileUtil {
/**
* 生成.json格式文件
*/
public static boolean createJsonFile(String filePath,String fileName,Object object) {
// 标记文件生成是否成功
boolean success = true;
String jsonString = null;
// 拼接文件完整路径
String fullPath = filePath + File.separator + fileName + ".json";
// 生成json格式文件
try {
// 保证创建一个新文件
File file = new File(fullPath);
if (!file.getParentFile().exists()) { // 如果父目录不存在,创建父目录
file.getParentFile().mkdirs();
}
if (file.exists()) { // 如果已存在,删除旧文件
file.delete();
}
file.createNewFile();
// 格式化json字符串
jsonString = JsonUtil.toJson(object);
// 将格式化后的字符串写入文件
Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
write.write(jsonString);
write.flush();
write.close();
} catch (Exception e) {
success = false;
e.printStackTrace();
}
// 返回是否成功的标记
return success;
}
}
package com.polang.common.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ValueFilter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import java.io.StringReader;
import java.util.List;
/**
* json工具类
*
* @param <T>
*/
public class JsonUtil<T> {
// 转化成json字符串
public static String toJson(Object object) {
return JSON.toJSONString(object, new DoubleValueFilter(), SerializerFeature.DisableCircularReferenceDetect,
SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteMapNullValue);
}
// json转化为对象 object map
public static <T> T jsonToBean(String text, Class<T> clazz) {
return JSON.parseObject(text, clazz);
}
// json转换为List
public static <T> List<T> jsonToList(String text, Class<T> clazz) {
return JSON.parseArray(text, clazz);
}
/**
* xml转换成JavaBean
*
* @param xml
* @param c
* @return
*/
@SuppressWarnings("unchecked")
public static <T> T converyToJavaBean(String xml, Class<T> c) {
T t = null;
try {
JAXBContext context = JAXBContext.newInstance(c);
Unmarshaller unmarshaller = context.createUnmarshaller();
t = (T) unmarshaller.unmarshal(new StringReader(xml));
} catch (Exception e) {
e.printStackTrace();
}
return t;
}
}
// 格式话double转字符串返回的格式
class DoubleValueFilter implements ValueFilter {
@Override
public Object process(Object object, String name, Object value) {
if (value != null && value instanceof Double) {
String valueStr = value.toString();
if (valueStr.endsWith(".0")) {
return value.toString();
}
}
return value;
}
}