List JSONObject

[JAVA] JSON 변환 [String, Map, List, JSONString, JSONObject, JSONArray]

Java

반응형

JSON 변환

pom.xml

라이브러리는 json-sample,jackson-databind를 사용하였습니다.

com.googlecode.json-simple json-simple 1.1.1 com.fasterxml.jackson.core jackson-databind 2.12.3

JsonUtils.java

1. Map을JSONString으로변환

2. List을JSONString으로변환

3. String을JSONObject를변환

4. JSONObject를Map으로변환

5. JSONArray를List으로변환

import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; /** * JSON 관련된 유틸리티 클래스 */ public class JsonUtils { /** * Map을 JSONString으로 변환 * * @param map * @return String */ @SuppressWarnings["unchecked"] public static String getJsonStringFromMap[Map map] { JSONObject json = new JSONObject[]; for [Map.Entry entry : map.entrySet[]] { json.put[entry.getKey[], entry.getValue[]]; } return json.toJSONString[]; } /** * List을 JSONString으로 변환 * * @param list * @return String */ @SuppressWarnings["unchecked"] public static String getJsonStringFromList[List list] { JSONArray jsonArray = new JSONArray[]; for [Map map : list] { jsonArray.add[getJsonStringFromMap[map]]; } return jsonArray.toJSONString[]; } /** * String을 JSONObject를 변환 * * @param jsonStr * @return jsonObject */ public static JSONObject getJsonObjectFromString[String jsonStr] { JSONObject jsonObject = new JSONObject[]; JSONParser jsonParser = new JSONParser[]; try { jsonObject = [JSONObject] jsonParser.parse[jsonStr]; } catch [ParseException e] { e.printStackTrace[]; } return jsonObject; } /** * JSONObject를 Map으로 변환 * * @param jsonObject * @return map */ @SuppressWarnings["unchecked"] public static Map getMapFromJsonObject[JSONObject jsonObject] { Map map = null; try { map = new ObjectMapper[].readValue[jsonObject.toJSONString[], Map.class]; } catch [JsonParseException e] { e.printStackTrace[]; } catch [JsonMappingException e] { e.printStackTrace[]; } catch [IOException e] { e.printStackTrace[]; } return map; } /** * JSONArray를 List으로 변환 * * @param jsonArray * @return list */ public static List getListMapFromJsonArray[JSONArray jsonArray] { List list = new ArrayList[]; if [jsonArray != null] { int jsonSize = jsonArray.size[]; for [int i = 0; i < jsonSize; i++] { Map map = getMapFromJsonObject[[JSONObject]jsonArray.get[i]]; list.add[map]; } } return list; } }

JsonUtilsTest.java

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.junit.Before; import org.junit.Test; public class JsonUtilsTest { Map map = null; List list = null; String jsonStr = "{\"key01\":\"value01\",\"key02\":\"value02\",\"key03\":\"value03\",\"key04\":\"value04\",\"key05\":\"value05\"}"; JSONObject jsonObject = null; JSONArray jsonArray = null; @Before public void initJsonStringParam[] { map = new HashMap[]; map.put["key01", "value01"]; map.put["key02", "value02"]; map.put["key03", "value03"]; map.put["key04", "value04"]; map.put["key05", "value05"]; list = new ArrayList[]; list.add[map]; list.add[map]; list.add[map]; } @SuppressWarnings["unchecked"] @Before public void initJsonObjectParam[] { jsonObject = new JSONObject[]; jsonObject.put["key01", "value01"]; jsonObject.put["key02", "value02"]; jsonObject.put["key03", "value03"]; jsonObject.put["key04", "value04"]; jsonObject.put["key05", "value05"]; jsonArray = new JSONArray[]; jsonArray.add[jsonObject]; jsonArray.add[jsonObject]; jsonArray.add[jsonObject]; } @Test public void testGetJsonStringFromMap[] { String jsonStr = JsonUtils.getJsonStringFromMap[map]; System.out.println["JsonStringFromMap : " + jsonStr]; } @Test public void testGetJsonStringFromList[] { String jsonStr = JsonUtils.getJsonStringFromList[list]; System.out.println["JsonStringFromList : " + jsonStr]; } @Test public void testGetJsonObjectFromString[] { JSONObject jsonObject = JsonUtils.getJsonObjectFromString[jsonStr]; System.out.println["JsonObjectFromString : " + jsonObject]; } @Test public void testGetMapFromJsonObject[] { Map map = JsonUtils.getMapFromJsonObject[jsonObject]; System.out.println["MapFromJsonObject : " + map]; } @Test public void testGetListMapFromJsonArray[] { List list = JsonUtils.getListMapFromJsonArray[jsonArray]; System.out.println["ListMapFromJsonArray : " + list]; } }

JSON library json-simple 사용법 -//tychejin.tistory.com/139
JSON library Gson 사용법 - //tychejin.tistory.com/136
JSON library Jackson 사용법 -//tychejin.tistory.com/134

반응형

공유하기

글 요소

구독하기 너나들이의 개발 이야기

저작자표시

'Java' 카테고리의 다른 글

[Java] JDOM2을 이용한 XML[문자열, 파일] 파싱[0][JAVA] HttpURLConnection GET/POST 방식[0][JAVA] JSON 변환 [String, Map, List, JSONString, JSONObject, JSONArray][0][Java] Casting, valueOf, toString 비교[0][Java] 스택[Stack]과 큐[Queue][1][Java] 스트림[Stream] API 중개 연산[0]
2021.09.23
2021.07.04
2021.07.04
2020.03.17
2020.03.07
2019.12.19

TAG

java, JSON, jsonArray, JSONOBJECT, JSONString, LIST, map, string, 형변환

관련글 관련글 더보기

  • [Java] JDOM2을 이용한 XML[문자열, 파일] 파싱
  • [JAVA] HttpURLConnection GET/POST 방식
  • [Java] Casting, valueOf, toString 비교
  • [Java] 스택[Stack]과 큐[Queue]

댓글 0

댓글 접기 댓글 펼치기

이전 댓글 더보기

비밀글

등록

Video liên quan

Chủ Đề