투케이2K

164. (java/자바) get 및 post 쿼리 파라미터 QueryParameter 형태 데이터 파싱 실시 본문

Java

164. (java/자바) get 및 post 쿼리 파라미터 QueryParameter 형태 데이터 파싱 실시

투케이2K 2021. 2. 27. 22:31

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

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

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

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

[소스 코드]

 

package AI4;

import java.util.ArrayList;

public class MainActivity17 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub		
		System.out.println("[get 및 post 쿼리 파라미터 QueryParameter 형태 데이터 파싱 실시]");
		
		/*[설 명]
		 * 1. 쿼리 파라미터 형태란 url 주소 뒤에 붙는 데이터 형식입니다
		 * 2. ex : http://jsonplaceholder.typicode.com/posts?userId=1&id=1
		 */
		
		//초기 데이터 저장 형태 정의
		String data = "userId=1&id=1";
		System.out.println("저장 형태 : "+data);
		
		//동적으로 데이터를 파싱하기 위함
		data = data.replaceAll(" ", ""); //TODO 공백 제거
		if(data != null && data.length() > 0){
			int check = 0;
			for(int i=0; i<data.length(); i++) {
				if(data.charAt(i) == '&') {
					check ++;
				}
			}
			if(check > 0) { //TODO 여러개 데이터가 저장된 경우				
				ArrayList total = new ArrayList();
				for(int i=0; i<=check; i++) {
					total.add(data.split("&")[i]);					
				}				
				for(int i=0; i<total.size(); i++) {
					String dataDetail = total.get(i).toString();					
					int count = 0;
					for(int v=0; v<dataDetail.length(); v++) {
						if(dataDetail.charAt(v) == '=') {
							count ++;
						}
					}					
					ArrayList tittle = new ArrayList();
					ArrayList content = new ArrayList();										
					for(int j=0; j<=count; j++) {
						if(j%2==0) {
							tittle.add(dataDetail.split("=")[j]);
						}
						else {
							content.add(dataDetail.split("=")[j]);
						}				
					}
					for(int k=0; k<tittle.size(); k++){
						//TODO 파싱된 데이터 출력
						System.out.println("파싱 : "+tittle.get(k) + " / " + content.get(k));
					}
				}								
			}
			else { //TODO 한개 데이터가 저장된 경우
				int count = 0;
				for(int i=0; i<data.length(); i++) {
					if(data.charAt(i) == '=') {
						count ++;
					}
				}
				ArrayList tittle = new ArrayList();
				ArrayList content = new ArrayList();
				for(int i=0; i<=count; i++) {
					if(i%2==0) {
						tittle.add(data.split("=")[i]);
					}
					else {
						content.add(data.split("=")[i]);
					}				
				}
				for(int i=0; i<tittle.size(); i++){
					//TODO 파싱된 데이터 출력
					System.out.println("파싱 : "+tittle.get(i) + " / " + content.get(i));
				}
			}						
		}
		else {
			System.out.println("저장된 데이터가 없습니다 ... ");		
		}
		
	}//메인 종료

}//클래스 종료

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

[결과 출력]

[get 및 post 쿼리 파라미터 QueryParameter 형태 데이터 파싱 실시]

저장 형태 : userId=1&id=1

파싱 : userId / 1

파싱 : id / 1

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

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

[요약 설명]

* 1. 쿼리 파라미터 형태란 url 주소 뒤에 붙는 데이터 형식입니다

* 2. ex : http://jsonplaceholder.typicode.com/posts?userId=1&id=1

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

반응형
Comments