투케이2K

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

Android

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

투케이2K 2021. 3. 5. 16:10
반응형

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

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

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

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

[소스 코드]

 

//========== [java - json 파일 생성] ==========
public void setJsonArrayData(){
	try {
		//TODO JSONArray 객체 생성 및 데이터 삽입 실시
		JSONArray jsonArray = new JSONArray();

		jsonArray.put("ONE_INFO");
		JSONObject jsonObject_One = new JSONObject();
		jsonObject_One.put("name", "투케이");
		jsonArray.put(jsonObject_One.toString());

		jsonArray.put("TWO_INFO");
		JSONObject jsonObject_Two = new JSONObject();
		jsonObject_Two.put("name", "케이투");
		jsonArray.put(jsonObject_Two.toString());

		//TODO 저장된 JSONObject 데이터 출력 실시
		jsonData = jsonArray.toString(); //데이터 파싱 위해서 변수에 담습니다
		Log.d("---","---");
		Log.d("//===========//","================================================");
		Log.d("","\n"+"[A_Main > setJsonArrayData() 메소드 : 기본 JSONArray 형태 데이터 생성 실시]]");
		Log.d("","\n"+"[저장된 데이터 : "+String.valueOf(jsonArray.toString())+"]");
		Log.d("//===========//","================================================");
		Log.d("---","---");
	}
	catch (Exception e){
		e.printStackTrace();
	}
}





//========== [java - json 파일 파싱] ==========
public void getJsonArrayDataParse(){
	try {
		//TODO 초기 저장된 데이터를 JSONArray에 담는다
		JSONArray jsonArrayParse = new JSONArray(jsonData);
		Log.d("---","---");
		Log.d("//===========//","================================================");
		Log.d("","\n"+"[A_Main > getJsonArrayDataParse() 메소드 : 기본 JSONArray 형태 데이터 파싱 실시]]");
		Log.d("","\n"+"[저장된 데이터 : "+String.valueOf(jsonArrayParse.toString())+"]");
		Log.d("//===========//","================================================");
		Log.d("---","---");

		//TODO 필요한 JSONArray 데이터를 파싱한다
		String name = "";

		for(int i=0; i<jsonArrayParse.length(); i++) {
			String data = String.valueOf(jsonArrayParse.get(i)); //TODO 데이터 string 형태 저장
			if(data.contains("name")){ //TODO 데이터 값이 name 이란 값을 가지고 있는 경우 (즉, jsonObject 형태인 경우)
				JSONObject jsonObject = new JSONObject(data);
				name = String.valueOf(jsonObject.get("name"));
				Log.d("---","---");
				Log.d("//===========//","================================================");
				Log.d("","\n"+"[A_Main > getJsonArrayDataParse() 메소드 : 기본 JSONArray 형태 데이터 파싱 실시]]");
				Log.d("","\n"+"[파싱 name : "+String.valueOf(name)+"]");
				Log.d("//===========//","================================================");
				Log.d("---","---");
			}
			else{
				Log.d("---","---");
				Log.d("//===========//","================================================");
				Log.d("","\n"+"[A_Main > getJsonArrayDataParse() 메소드 : 기본 JSONArray 형태 데이터 파싱 실시]]");
				Log.d("","\n"+"[파싱 일반 : "+String.valueOf(data)+"]");
				Log.d("//===========//","================================================");
				Log.d("---","---");
			}
		}
	}
	catch (Exception e){
		e.printStackTrace();
	}
}

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

[결과 출력]

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

반응형
Comments