728x90
반응형
출처
http://huskdoll.tistory.com/6
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(); } } } | cs |
결과
728x90
반응형