JsonResourceUtil.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package org.jeecg.common.util;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import org.apache.commons.io.FileUtils;
  6. import org.apache.commons.io.IOUtils;
  7. import org.jeecg.common.constant.AccountReportConstants;
  8. import org.slf4j.Logger;
  9. import org.slf4j.LoggerFactory;
  10. import org.springframework.core.io.ClassPathResource;
  11. import java.io.File;
  12. import java.io.InputStream;
  13. import java.nio.charset.StandardCharsets;
  14. import java.util.*;
  15. /**
  16. * Created by JQ.bi on 2020.06.03
  17. */
  18. public class JsonResourceUtil {
  19. private static Logger logger = LoggerFactory.getLogger(JsonResourceUtil.class);
  20. private JsonResourceUtil() {
  21. }
  22. //filename 为文件名字 如 “/json/app_version_info.json”
  23. public static JSONObject getJsonObjFromResource(String filename) {
  24. JSONObject json = null;
  25. if (!filename.contains(".json")) {
  26. filename += ".json";
  27. }
  28. try {
  29. ClassPathResource classPathResource = new ClassPathResource(filename);
  30. if (classPathResource.exists()) {
  31. InputStream inputStream = classPathResource.getInputStream();
  32. String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
  33. json = JSON.parseObject(content);
  34. } else {
  35. logger.info("file not exist!");
  36. }
  37. } catch (Exception e) {
  38. e.printStackTrace();
  39. logger.info("readFileToString" + e.getMessage());
  40. }
  41. return json;
  42. }
  43. public static Map<String, Map<String, Object>> jsonToMap(Object jsonObj) {
  44. JSONObject jsonObject = JSONObject.parseObject(jsonObj.toString());
  45. Map<String, Map<String, Object>> mapMap = new HashMap<>();
  46. jsonObject.forEach((key, value) -> {
  47. mapMap.put(key, JSONObject.parseObject(value.toString()));
  48. });
  49. return mapMap;
  50. }
  51. /**
  52. * 拼接字段
  53. */
  54. public static String joinFiled(JSONArray array) {
  55. StringBuilder sb = new StringBuilder();
  56. array.forEach(it -> {
  57. if (AccountReportConstants.dicMap.get(it.toString()).isEmpty()) {
  58. sb.append(it).append(",");
  59. } else {
  60. sb.append(AccountReportConstants.dicMap.get(it.toString()).get("filed")).append(",");
  61. }
  62. });
  63. return sb.deleteCharAt(sb.length() - 1).toString();
  64. }
  65. /**
  66. * 拼接title
  67. */
  68. public static List<String> joinTitle(JSONArray array) {
  69. List<String> titles = new ArrayList<>(20);
  70. array.forEach(it -> {
  71. if (AccountReportConstants.dicMap.get(it.toString()).isEmpty()) {
  72. titles.add(it.toString());
  73. } else {
  74. titles.add(AccountReportConstants.dicMap.get(it.toString()).get("comment").toString());
  75. }
  76. });
  77. return titles;
  78. }
  79. /**
  80. * 拼接字段
  81. */
  82. public static String joinAllFiled() {
  83. StringBuilder sb = new StringBuilder();
  84. AccountReportConstants.dicMap.forEach((k, v) -> {
  85. sb.append(v.get("filed")).append(",");
  86. });
  87. return sb.deleteCharAt(sb.length() - 1).toString();
  88. }
  89. }