Android 프로그래밍 2

본문 바로가기
사이트 내 전체검색


Android 프로그래밍 2
Android 프로그래밍 2

7. JSONObject, JSONArray 사용법

페이지 정보

작성자 관리자 댓글 0건 조회 3,541회 작성일 19-06-03 15:48

본문

7. JSONObject, JSONArray 사용법

참고사이트 


JSONObject는 JSON형태의 데이터를 관리해 주는 메서드이다.

맵의 특성으로 인해 순서를 보장하지 않는다. 즉 똑같이 뽑아내도 내용물의 순서가 섞일 수 있다.


간단한 사용법은 다음과 같다.


먼저 JSON 생성 후 데이터 집어넣기


JSONObject obj = new JSONObject();

obj.put("이름","덩치");

obj.put("거주지","서울");


출력해보면


String data = obj.toString();

System.out.println(data);


결과값 - {"이름":"덩치","거주지":"서울"}

이렇게 표시된다.



키값에 해당하는 벨류만 뽑고싶다면


String data = obj.get("key");


하면 "key"에 해당하는 값을 반환한다.


JSON형태의 String을 JSONobject에 넣는법


String data = "{\"이름\":\"덩치\",\"거주지\":\"서울\"}";

JSONObject obj = new JSONObject(data);


쓸때는 위와 같이 뽑아서 사용하면 된다.



JSONObject에 담기 위해 JSONParser 사용하기


JSONParser parser = new JSONParser();
Object obj = parser.parse( data );

//이렇게 파싱을 해야합니다.

JSONObject jsonObj = (JSONObject) obj;


//파싱한 obj를 JSONObject 객체에 담아서 사용하면 된다.

String code = (String) jsonObj.get("code");
String name = (String) jsonObj.get("name");

JSON Array 사용하기


JSONArray 는 JSONObject가 들어가는 배열이라고 보면 된다.


String Json = "[{\"Product\" : \"Mouse\", \"Maker\":\"Samsung\", \"Price\":23000},"
               + "{\"Product\" : \"KeyBoard\", \"Maker\":\"LG\", \"Price\":12000},"
               + "{\"Product\":\"HDD\", \"Maker\":\"Western Digital\", \"Price\":156000}]";
try{
   String result = "";
   JSONArray ja = new JSONArray(Json);
   for (int i = 0; i < ja.length(); i++){
      JSONObject order = ja.getJSONObject(i);
      result += "product: " + order.getString("Product") + ", maker: " + order.getString("Maker") +
                  ", price: " + order.getInt("Price") + "\n";
   }
}
catch (JSONException e){ ;}

결과값 :   result : product: Mouse, maker: Samsung, price: 23000
product: KeyBoard, maker: LG, price: 12000
product: HDD, maker: Western Digital, price: 156000




댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.