Java
[Java] json to map, map to json 등
IT공부블로그
2020. 4. 6. 19:55
728x90
반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import net.minidev.json.JSONArray; import net.minidev.json.JSONObject; /** * 일반문자열 유틸. * * @author someone * @version 1.0.0 */ public class JsonUtil { /** * Map을 json으로 변환한다. * * @param map Map<String, Object>. * @return JSONObject. */ public static JSONObject getJsonStringFromMap( Map<String, Object> map ) { JSONObject jsonObject = new JSONObject(); for( Map.Entry<String, Object> entry : map.entrySet() ) { String key = entry.getKey(); Object value = entry.getValue(); jsonObject.put(key, value); } return jsonObject; } /** * List<Map>을 jsonArray로 변환한다. * * @param list List<Map<String, Object>>. * @return JSONArray. */ public static JSONArray getJsonArrayFromList( List<Map<String, Object>> list ) { JSONArray jsonArray = new JSONArray(); for( Map<String, Object> map : list ) { jsonArray.add( getJsonStringFromMap( map ) ); } return jsonArray; } /** * List<Map>을 jsonString으로 변환한다. * * @param list List<Map<String, Object>>. * @return String. */ public static String getJsonStringFromList( List<Map<String, Object>> list ) { JSONArray jsonArray = getJsonArrayFromList( list ); return jsonArray.toJSONString(); } /** * JsonObject를 Map<String, String>으로 변환한다. * * @param jsonObj JSONObject. * @return Map<String, Object>. */ @SuppressWarnings("unchecked") public static Map<String, Object> getMapFromJsonObject( JSONObject jsonObj ) { Map<String, Object> map = null; try { map = new ObjectMapper().readValue(jsonObj.toJSONString(), Map.class) ; } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return map; } /** * JsonArray를 List<Map<String, String>>으로 변환한다. * * @param jsonArray JSONArray. * @return List<Map<String, Object>>. */ public static List<Map<String, Object>> getListMapFromJsonArray( JSONArray jsonArray ) { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); if( jsonArray != null ) { int jsonSize = jsonArray.size(); for( int i = 0; i < jsonSize; i++ ) { Map<String, Object> map = JsonUtil.getMapFromJsonObject( ( JSONObject ) jsonArray.get(i) ); list.add( map ); } } return list; } } | cs |
728x90
반응형