public class Ex01_JSONObject {
public static void main(String[] args) {
// 예제로 사용할 JSON
// {"name": "emily", "age": 20, "isAdult": true}
// OpenAPI에서 받아온 데이터로 생각합시다.
String strJSON = "{\"name\": \"emily\", \"age\": 20, \"isAdult\": true}";
// 사용할 라이브러리: json-simple-1.1.1.jar
// 라이브러리 역할: JSON데이터를 Java의 Map으로 처리
// 1. JSON Parser: 구문분석기 생성
JSONParser parser = new JSONParser();
// 2. JSON Object: parser가 분석한 결과를 저장할 객체
JSONObject obj = null;
// 3. parsing: 구문분석
try {
obj = (JSONObject) parser.parse(strJSON);
} catch (ParseException e) {
e.printStackTrace();
}
// 4. JSON Object는 Map과 사용법이 같다.
// JSONObject 클래스를 Map 인터페이스를 구현해서 만들었으므로
System.out.println(obj.get("name")); // get("key")
System.out.println(obj.get("age")); // get("key")
System.out.println((boolean)obj.get("isAdult") ? "성인" : "미성년자"); // get("key")
}
}
Ex02_JSONArray.java
public class Ex02_JSONArray {
public static void main(String[] args) {
// 예제로 사용할 JSON 배열
// [{}, {}]
// [{"name": "emily", "age": 20, "isAdult": true}, {"name": "james", "age": 19, "isAdult": false}]
String strJSON = "[{\"name\": \"emily\", \"age\": 20, \"isAdult\": true}, {\"name\": \"james\", \"age\": 19, \"isAdult\": false}]";
// 1. JSON Parser 생성
JSONParser parser = new JSONParser();
// 2. JSON Array 준비
JSONArray list = null;
// 3. parsing
try {
list = (JSONArray)parser.parse(strJSON);
} catch (ParseException e) {
e.printStackTrace();
}
// JSONArray는 Java의 ArrayList와 사용법이 같다.
System.out.println(list.get(0));
System.out.println(list.get(1));
}
}
Ex03_toJSONString.java
public class Ex03_toJSONString {
public static void main(String[] args) {
// 1. JSON 데이터 만들기
JSONObject obj = new JSONObject();
// Map 처럼 데이터를 저장할 수 있다.
obj.put("name", "amanda");
obj.put("age", 22);
obj.put("isAdult", true);
// 2. JSON 데이터를 String으로 변환하기
String strJSON = obj.toJSONString();
System.out.println(strJSON);
}
}