1. JsonFileUtil.createJsonFile("/Users/wuyibo/Desktop","文件名",waImgTagFile);
    1. package com.polang.common.utils;
    2. import java.io.*;
    3. /**
    4. * Create by wyb 2022/2/15 4:03 PM
    5. * description : 生成json文件工具类
    6. */
    7. public class JsonFileUtil {
    8. /**
    9. * 生成.json格式文件
    10. */
    11. public static boolean createJsonFile(String filePath,String fileName,Object object) {
    12. // 标记文件生成是否成功
    13. boolean success = true;
    14. String jsonString = null;
    15. // 拼接文件完整路径
    16. String fullPath = filePath + File.separator + fileName + ".json";
    17. // 生成json格式文件
    18. try {
    19. // 保证创建一个新文件
    20. File file = new File(fullPath);
    21. if (!file.getParentFile().exists()) { // 如果父目录不存在,创建父目录
    22. file.getParentFile().mkdirs();
    23. }
    24. if (file.exists()) { // 如果已存在,删除旧文件
    25. file.delete();
    26. }
    27. file.createNewFile();
    28. // 格式化json字符串
    29. jsonString = JsonUtil.toJson(object);
    30. // 将格式化后的字符串写入文件
    31. Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
    32. write.write(jsonString);
    33. write.flush();
    34. write.close();
    35. } catch (Exception e) {
    36. success = false;
    37. e.printStackTrace();
    38. }
    39. // 返回是否成功的标记
    40. return success;
    41. }
    42. }
    1. package com.polang.common.utils;
    2. import com.alibaba.fastjson.JSON;
    3. import com.alibaba.fastjson.serializer.SerializerFeature;
    4. import com.alibaba.fastjson.serializer.ValueFilter;
    5. import javax.xml.bind.JAXBContext;
    6. import javax.xml.bind.Unmarshaller;
    7. import java.io.StringReader;
    8. import java.util.List;
    9. /**
    10. * json工具类
    11. *
    12. * @param <T>
    13. */
    14. public class JsonUtil<T> {
    15. // 转化成json字符串
    16. public static String toJson(Object object) {
    17. return JSON.toJSONString(object, new DoubleValueFilter(), SerializerFeature.DisableCircularReferenceDetect,
    18. SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteMapNullValue);
    19. }
    20. // json转化为对象 object map
    21. public static <T> T jsonToBean(String text, Class<T> clazz) {
    22. return JSON.parseObject(text, clazz);
    23. }
    24. // json转换为List
    25. public static <T> List<T> jsonToList(String text, Class<T> clazz) {
    26. return JSON.parseArray(text, clazz);
    27. }
    28. /**
    29. * xml转换成JavaBean
    30. *
    31. * @param xml
    32. * @param c
    33. * @return
    34. */
    35. @SuppressWarnings("unchecked")
    36. public static <T> T converyToJavaBean(String xml, Class<T> c) {
    37. T t = null;
    38. try {
    39. JAXBContext context = JAXBContext.newInstance(c);
    40. Unmarshaller unmarshaller = context.createUnmarshaller();
    41. t = (T) unmarshaller.unmarshal(new StringReader(xml));
    42. } catch (Exception e) {
    43. e.printStackTrace();
    44. }
    45. return t;
    46. }
    47. }
    48. // 格式话double转字符串返回的格式
    49. class DoubleValueFilter implements ValueFilter {
    50. @Override
    51. public Object process(Object object, String name, Object value) {
    52. if (value != null && value instanceof Double) {
    53. String valueStr = value.toString();
    54. if (valueStr.endsWith(".0")) {
    55. return value.toString();
    56. }
    57. }
    58. return value;
    59. }
    60. }