json을 map으로, map을 json으로 변환하는 예제들을 모아서 JsonUtil이라는 class를 만들어 봤습니다.
아래 소스를 그대로 긁어서 JsonUtil.java 파일로 만들어서 사용하시면 됩니다.
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 | 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 |
'프로그래밍 언어 > java + jsp + jstl' 카테고리의 다른 글
[java/jsp] js 파일 안에서 아무리 소스를 수정해도 브라우저에 바로바로 반영이 안된다면? (4) | 2016.11.11 |
---|---|
[jstl] Date형과 String형인 경우 jstl(fmt)로 날짜 포맷에 맞게 출력하는 방법 (0) | 2016.11.11 |
[JSTL] foreach문에서 목록의 위치값을 알려주는 varStatus(index, count, first, last 등) 사용 예제 (1) | 2016.09.09 |
[java] 자바에서 DecimalFormat으로 소수점 자리수 표시하기 (0) | 2016.09.05 |
[java] 자바에서 파일(File)이름 변경(이동)하기 (1) | 2016.09.01 |
댓글