JSONObject로 생성, JSONObject 리스트 JSONArray에 넣기, JSONArray를 ArrayList에 넣기
1. string 형태의 배열문자열을 split 하여 string array에 넣는다.
1 2 | String[] myCodeArr = [01, 02, 03, 04] String[] motherCodeArr = [99, 98, 97] | cs |
2. string array에 들어간 데이터 값과 name, updateTime값을 JSONObject에 다시 넣는다.
1 2 3 4 5 6 | JSONObject jsonObj1 = new JSONObject(); jsonObj1.put("myCode", myCodeArr); jsonObj1.put("name", name); jsonObj1.put("motherCode", motherCodeArr); jsonObj1.put("updatedTime", updatedTime); | cs |
1 2 3 4 5 6 | { "myCode":["01","02","03","04"], "name":"jihyun", "motherCode":["99","98","97"], "updatedTime":"2019-11-05 12:48:12" } | cs |
3. JSONObject를 여러개 갖고 싶어 JSONArray 안에 다시 넣는다.
1 2 | JSONArray jsonArr1 = new JSONArray(); jsonArr1.put(jsonObj1); | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [ { "myCode":["01","02","03","04"], "name":"jihyun", "motherCode":["99","98","97"], "updatedTime":"2019-11-05 12:48:12" }, { "myCode":["11","22","33"], "name":"yumi", "motherCode":["20","30"], "updatedTime":"2019-11-05 12:48:12" } ] | cs |
4. JSONArray에 담긴 것을 JSONObject 형식을 유지한 ArrayList로 만들고 싶다.
JSONArray에 담긴 것을 하나씩 JSONObject로 뽑아내어 ArrayList에 add 시킨다.
JSONObject[] jsons안에 array사이즈를 할당하고 toArray() 를 사용해 arrayJson이 갖고 있는 값의 형태로 arraylist를 생성한다.
1 2 3 4 5 6 7 8 9 | ArrayList<JSONObject> arrayJson = new ArrayList<JSONObject>(); for (int k = 0; k < jsonArr1.length(); k++) { JSONObject tempJson = jsonArr1.getJSONObject(k); arrayJson.add(tempJson); } JSONObject[] jsons = new JSONObject[arrayJson.size()]; arrayJson.toArray(jsons); | cs |
5. 전체 소스
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 | private void arrIntoJson() throws JSONException { String name = ""; String myCode = ""; String motherCode = ""; JSONArray jsonArr1 = new JSONArray(); for(int i=0; i<2; i++) { if(i==0) { name = "jihyun"; myCode = "[01,02,03,04]"; motherCode = "[99,98,97]"; }else { name = "yumi"; myCode = "[11,22,33]"; motherCode = "[20,30]"; } String updatedTime = String.valueOf(DateUtil.getLocalDateTime("yyyy-MM-dd HH:mm:ss")); String[] myCodeArr = myCode.substring(1, myCode.length()-1).split(","); String[] motherCodeArr = motherCode.substring(1, motherCode.length()-1).split(","); JSONObject jsonObj1 = new JSONObject(); jsonObj1.put("name", name); jsonObj1.put("myCode", myCodeArr); jsonObj1.put("motherCode", motherCodeArr); jsonObj1.put("updatedTime", updatedTime); jsonArr1.put(jsonObj1); } ArrayList<JSONObject> arrayJson = new ArrayList<JSONObject>(); for (int k = 0; k < jsonArr1.length(); k++) { JSONObject tempJson = jsonArr1.getJSONObject(k); arrayJson.add(tempJson); } JSONObject[] jsons = new JSONObject[arrayJson.size()]; arrayJson.toArray(jsons); System.out.println(jsons); } | cs |
arrayJson의 값
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [ { "myCode":["01","02","03","04"], "name":"jihyun", "motherCode":["99","98","97"], "updatedTime":"2019-11-05 12:48:12" }, { "myCode":["11","22","33"], "name":"yumi", "motherCode":["20","30"], "updatedTime":"2019-11-05 12:48:12" } ] | cs |
'전체 > Java' 카테고리의 다른 글
모던 자바 인 액션 - 스트림 (0) | 2020.08.02 |
---|---|
모던 자바 인 액션 파트1 - 동작 파라미터화 코드 전달하기 (4) | 2020.07.26 |
module-info.java로 서로 다른 프로젝트의 패키지(클래스) 불러와 사용하기 (1) | 2019.02.20 |
LocalDate, LocalTime, LocalDateTime, DateTimeFormatter 사용하기 (0) | 2019.02.20 |
스트림 특성, 컬렉션과 차이점, 스트림 소스 구현하여 활용하기 (0) | 2019.02.20 |