투케이2K

10. (spring/스프링) JSONArray , JSONObject 객체 사용해 json 데이터 생성 및 리턴 실시 본문

Spring

10. (spring/스프링) JSONArray , JSONObject 객체 사용해 json 데이터 생성 및 리턴 실시

투케이2K 2021. 7. 13. 16:39

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : inteli j

개발 언어 : spring

/* =========================== */

/* =========================== */

[폴더 및 파일 추가]

/* =========================== */

/* =========================== */

[소스 코드 : controller >> ModuleApiController]

 

package com.project.solutionpackage.controller;

import com.project.solutionpackage.model.Font;

import org.springframework.boot.configurationprocessor.json.JSONArray;
import org.springframework.boot.configurationprocessor.json.JSONObject;

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

// [rest 방식 컨트롤러 / Controller = view 연결]
@RestController
public class ModuleApiController {

    /**
     * [클래스 설명]
     * 1. thymeleaf 타임리프 view 지정 부분 (html 지정)
     * */


    // [post 방식 : map]
    // [경로 지정 : http://localhost:7000/jsonData]
    // [post 로직 : 사용자 url 호출 시 >> 내부 로직 처리 >> 리턴 데이터 반환]
    @PostMapping("/jsonData")
    public String jsonData(@RequestParam Map<String, String> param){
        //input으로 들어온 파라미터 데이터 확인 실시
        System.out.println("\n");
        System.out.println(Font.PURPLE+"======================================="+Font.RESET);
        System.out.println("[ModuleApiController] : [jsonData]");
        System.out.println(Font.PURPLE+"======================================="+Font.RESET);
        System.out.println("\n");

        //TODO [내부 로직 처리 실시]
        JSONArray jsonArray = null;
        try {
            jsonArray = new JSONArray(); // JSONArray 객체 생성
            
            //for 반복문을 수행하면서 데이터 삽입 실시
            char name = 'a';
            for(int i=1; i<=5; i++){
                JSONObject jsonObject = new JSONObject(); // JSONObject 객체 생성
                jsonObject.put("idx", i);
                jsonObject.put("name", Character.valueOf(name));
                name ++; //char 변수값 증가 실시

                jsonArray.put(jsonObject); // JSONArray 에 데이터 삽입 실시
            }
            System.out.println("\n");
            System.out.println(Font.PURPLE+"======================================="+Font.RESET);
            System.out.println("[ModuleApiController] : [jsonData]");
            System.out.println("[response] : " + jsonArray.toString());
            System.out.println(Font.PURPLE+"======================================="+Font.RESET);
            System.out.println("\n");
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return jsonArray.toString(); //리턴 데이터 반환
    }

}

/* =========================== */

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[JSON 참고 자료]

https://blog.naver.com/kkh0977/222265356486

 

81. (AndroidStudio/android/java) json 데이터 저장 및 파싱 (JSONObject 저장 / JSONObject 파싱)

/* ==============...

blog.naver.com

 

https://blog.naver.com/kkh0977/222265388955

 

82. (AndroidStudio/android/java) json 데이터 저장 및 파싱 (JSONArray 저장 / JSONArray 파싱)

/* ==============...

blog.naver.com

 

/* =========================== */

반응형
Comments