ㅤㅤㅤ
JAVA에서 JSONParser 사용하기 본문
Json형식을 웹이나 다른 부분에서 받아 왔을때 해당 부분을 파싱 하는 예제 입니다.
* JavaScript 에서 JSON 생성 하시려는 분은 여기 참고 => http://huskdoll.tistory.com/11
* JavaScript 에서 JSON Parse 하시려는 분은 여기 참고 => http://huskdoll.tistory.com/49
* JAVA 에서 JSON 생성 하시려는 분은 여기 참고 => http://huskdoll.tistory.com/38
json_simple-1.1.jar 를 받아야 됩니다.
경로 다운로드 => http://code.google.com/p/json-simple/downloads/detail?name=json_simple-1.1.jar&can=2&q
직접 다운로드 => json_simple-1.1.jar
자바에서 JSON을 처리 하는 부분입니다.
String 형식의 JSON을 JSONObject 형으로 만들어 추출하는 예제 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class JsonParserTest { public static void main(String[] args) { //JSON 데이터 String jsonInfo = "{\"books\":[{\"genre\":\"소설\",\"price\":\"100\",\"name\":\"사람은 무엇으로 사는가?\",\"writer\":\"톨스토이\",\"publisher\":\"톨스토이 출판사\"},{\"genre\":\"소설\",\"price\":\"300\",\"name\":\"홍길동전\",\"writer\":\"허균\",\"publisher\":\"허균 출판사\"},{\"genre\":\"소설\",\"price\":\"900\",\"name\":\"레미제라블\",\"writer\":\"빅토르 위고\",\"publisher\":\"빅토르 위고 출판사\"}],\"persons\":[{\"nickname\":\"남궁민수\",\"age\":\"25\",\"name\":\"송강호\",\"gender\":\"남자\"},{\"nickname\":\"예니콜\",\"age\":\"21\",\"name\":\"전지현\",\"gender\":\"여자\"}]}" ; /* { "books": [ { "genre": "소설", "price": "100", "name": "사람은 무엇으로 사는가?", "writer": "톨스토이", "publisher": "톨스토이 출판사" }, { "genre": "소설", "price": "300", "name": "홍길동전", "writer": "허균", "publisher": "허균 출판사" }, { "genre": "소설", "price": "900", "name": "레미제라블", "writer": "빅토르 위고", "publisher": "빅토르 위고 출판사" } ], "persons": [ { "nickname": "남궁민수", "age": "25", "name": "송강호", "gender": "남자" }, { "nickname": "예니콜", "age": "21", "name": "전지현", "gender": "여자" } ] } */ try { JSONParser jsonParser = new JSONParser(); //JSON데이터를 넣어 JSON Object 로 만들어 준다. JSONObject jsonObject = (JSONObject) jsonParser.parse(jsonInfo); //books의 배열을 추출 JSONArray bookInfoArray = (JSONArray) jsonObject.get( "books" ); System.out.println( "* BOOKS *" ); for ( int i= 0 ; i<bookInfoArray.size(); i++){ System.out.println( "=BOOK_" +i+ " ===========================================" ); //배열 안에 있는것도 JSON형식 이기 때문에 JSON Object 로 추출 JSONObject bookObject = (JSONObject) bookInfoArray.get(i); //JSON name으로 추출 System.out.println( "bookInfo: name==>" +bookObject.get( "name" )); System.out.println( "bookInfo: writer==>" +bookObject.get( "writer" )); System.out.println( "bookInfo: price==>" +bookObject.get( "price" )); System.out.println( "bookInfo: genre==>" +bookObject.get( "genre" )); System.out.println( "bookInfo: publisher==>" +bookObject.get( "publisher" )); } JSONArray personInfoArray = (JSONArray) jsonObject.get( "persons" ); System.out.println( "\r\n* PERSONS *" ); for ( int i= 0 ; i<personInfoArray.size(); i++){ System.out.println( "=PERSON_" +i+ " ===========================================" ); JSONObject personObject = (JSONObject) personInfoArray.get(i); System.out.println( "personInfo: name==>" +personObject.get( "name" )); System.out.println( "personInfo: age==>" +personObject.get( "age" )); System.out.println( "personInfo: gender==>" +personObject.get( "gender" )); System.out.println( "personInfo: nickname==>" +personObject.get( "nickname" )); } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
'プログラミング > JAVA' 카테고리의 다른 글
추상클래스(Abstract class)와 인터페이스(Interface)의 차이 (1) | 2017.07.06 |
---|---|
Exception 처리에 대해서(자바7에 추가된 try-catch-resources 포함) (0) | 2017.06.30 |
JAVA에서 JSON을 생성하는 예제 입니다. (1) | 2017.06.27 |
날짜, 숫자, 영어 등 유효성 체크 검사코드 (0) | 2017.06.20 |
jsoup : 자바 HTML 파서(Java HTML Parser) (0) | 2017.06.19 |
Comments