Notice
Recent Posts
Recent Comments
Link
투케이2K
164. (java/자바) get 및 post 쿼리 파라미터 QueryParameter 형태 데이터 파싱 실시 본문
/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : 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
/* =========================== */
반응형
'Java' 카테고리의 다른 글
166. (java/자바) if , else 문을 사용해서 계산기 프로그램 만들기 실시 (0) | 2021.03.04 |
---|---|
165. (java/자바) ip , port 주소 형태 문자열 데이터 파싱 실시 (0) | 2021.03.03 |
163. (java/자바) 인터페이스 (interface) 클래스를 implements 다중 상속 받은 후 사용하기 (0) | 2021.02.26 |
162. (java/자바) string 문자열에서 replace 사용해 특정 문자 변경 실시 - contains 사용해 문자열 포함 확인 (0) | 2021.02.24 |
161. (java/자바) Optional 클래스 사용해서 데이터가 null (널) 일 경우 예외 발생 회피 실시 (0) | 2021.02.21 |
Comments