JsonResourceUtil.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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.IOUtils;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.core.io.ClassPathResource;
  9. import java.io.InputStream;
  10. import java.nio.charset.StandardCharsets;
  11. import java.util.ArrayList;
  12. import java.util.HashMap;
  13. import java.util.List;
  14. import java.util.Map;
  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. //json文件转化为JSONArray
  44. public static JSONArray getJsonArrFromResource(String filename) {
  45. JSONArray json = null;
  46. if (!filename.contains(".json")) {
  47. filename += ".json";
  48. }
  49. try {
  50. ClassPathResource classPathResource = new ClassPathResource(filename);
  51. if (classPathResource.exists()) {
  52. InputStream inputStream = classPathResource.getInputStream();
  53. String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
  54. json = JSON.parseArray(content);
  55. } else {
  56. logger.info("file not exist!");
  57. }
  58. } catch (Exception e) {
  59. e.printStackTrace();
  60. logger.info("readFileToString" + e.getMessage());
  61. }
  62. return json;
  63. }
  64. public static Map<String, Map<String, Object>> jsonToMap(Object jsonObj) {
  65. JSONObject jsonObject = JSONObject.parseObject(jsonObj.toString());
  66. Map<String, Map<String, Object>> mapMap = new HashMap<>();
  67. jsonObject.forEach((key, value) -> mapMap.put(key, JSONObject.parseObject(value.toString())));
  68. return mapMap;
  69. }
  70. /**
  71. * 拼接字段
  72. */
  73. public static String joinFiled(Map<String, Map<String, Object>> mapMap, JSONArray array) {
  74. StringBuilder sb = new StringBuilder();
  75. array.forEach(it -> {
  76. if (mapMap.get(it) == null) {
  77. sb.append(it).append(",");
  78. } else {
  79. sb.append(mapMap.get(it.toString()).get("filed")).append(",");
  80. }
  81. });
  82. return sb.deleteCharAt(sb.length() - 1).toString();
  83. }
  84. /**
  85. * 拼接title
  86. */
  87. public static List<String> joinTitle(Map<String, Map<String, Object>> mapMap, JSONArray array) {
  88. List<String> titles = new ArrayList<>(20);
  89. array.forEach(it -> {
  90. if (mapMap.get(it) == null) {
  91. titles.add("");
  92. } else {
  93. titles.add(mapMap.get(it.toString()).get("comment").toString());
  94. }
  95. });
  96. return titles;
  97. }
  98. /**
  99. * 拼接字段
  100. */
  101. public static String joinAllFiled(Map<String, Map<String, Object>> mapMap) {
  102. StringBuilder sb = new StringBuilder();
  103. mapMap.forEach((k, v) -> sb.append(v.get("filed")).append(","));
  104. return sb.deleteCharAt(sb.length() - 1).toString();
  105. }
  106. }