본문 바로가기
Programando/Android

[Android/Java] ArrayList를 JSON으로 만들기

1. class 생성

    private class Class {

        private String item_name;
        private String class_name;
        private String class_price;
        private String class_priority;

        public Class(String item_name, String class_name, String class_price, String class_priority) {
            this.item_name = item_name;
            this.class_name = class_name;
            this.class_price = class_price;
            this.class_priority = class_priority;
        }

        public String getClass_name() {
            return class_name;
        }

        public String getClass_price() {
            return class_price;
        }

        public String getItem_Name() { return item_name; }

        public String getClass_priority() { return class_priority; }

    }

 

2. ArrayList에 요소 담기

    ArrayList<Class> classList = new ArrayList<Class>;

    Class classObject = new Class(itemName, name, price, priority);
    classList.add(classObject);

 

반응형

 

3. ArrayList를 JSON으로 바꾸기

class라는 이름의 jsonObjet 안에 itemName이라는 키 값과 실제 item의 name, className이라는 키 값과 실제 class의 name 값 등이 반복될 수 있도록 해당 ArrayListJSONObject로 바꿉니다.

        try {
            JSONArray jArray = new JSONArray();
            for (int j = 0; j < classList.size(); j++) {
                JSONObject sObject = new JSONObject();//배열 내에 들어갈 json
                sObject.put("itemName", classList.get(j).getItem_Name());
                sObject.put("className", classList.get(j).getClass_name());
                sObject.put("classPrice", classList.get(j).getClass_price());
                sObject.put("classPriority", classList.get(j).getClass_priority());
                jArray.put(sObject);

                if (j >= classList.size() - 1) {

                     jsonObject.put("class", jArray);

                     System.out.println(jsonObject.toString());

               }
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }

 

완성된 화면

해당 ArrayList가 JSON으로 만들어졌음을 확인할 수 있습니다.

반응형