써먹는 웹개발
[java] json을 map으로, map을 json으로 변환하는 예제들 본문
728x90
반응형
/**
* 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;
}
728x90
반응형
'웹개발 > Java & Jsp' 카테고리의 다른 글
[Java] List와 Map의 차이점 (0) | 2018.07.27 |
---|---|
[JAVA] startsWith 란? (0) | 2018.07.26 |
[Java]JVM, JDK, JRE의 차이점 (0) | 2018.07.26 |
[Java] 파일업로드시 경로를 못 찾는 문제 해결방법 (0) | 2018.07.19 |
[Java] 파일 만들기 지우기 확인하기 (0) | 2018.07.16 |
Comments