728x90
반응형
#JSON 라이브러리(JSONObject, JSONArray, JSONParser) 사용법
#JSON이란 ?
-JSON은 JavaScript Object Notation의 약자로, Javascript에서 데이터를 전달하기 위해 만들어진 형식입니다.
#pom.xml파일에 json-simple 라이브러리 의존성을 추가합니다.
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
1. JSONObject 객체를 생성합니다.
-key/value쌍으로 이루어진 객체입니다
-put(key, value)로 데이터를 저장합니다.
public class JsonSimpleTest {
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("name", "jack");
obj.put("age", "25");
// name : jack
// age : 25
Iterator itr = obj.keySet().iterator();
while(itr.hasNext()){
String keys = (String) itr.next();
System.out.println(keys + " : " + obj.get(keys));
}
}
}
2. HashMap을 JSONObject 객체의 생성자로 줘서 JSONObject 객체를 생성할 수 있습니다.
public class JsonSimpleTest2 {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("name", "jack");
map.put("age", "30");
JSONObject obj = new JSONObject(map);
// {"name":"jack","age":"30"}
System.out.println(obj.toString());
}
}
3. JSONArray 객체를 사용해서 JSON 형식 배열을 생성할 수 있습니다.
-JSONArray jsonArray = (JSONArray) jsonObject.get("키 값");
public class JsonSimpleTest3 {
public static void main(String[] args) {
JSONArray jsonArray = new JSONArray();
jsonArray.add("apple");
jsonArray.add("banana");
JSONObject obj = new JSONObject();
obj.put("name", "jack");
obj.put("fruit", jsonArray);
// {"fruit":["apple","banana"],"name":"jack"}
System.out.println(obj.toString());
// ["apple","banana"]
System.out.println(obj.get("fruit"));
}
}
4. JSONObject 객체의 JSON 데이터를 파일로 저장할 수 있습니다.
public class JsonSimpleTest4 {
public static void main(String[] args) throws IOException {
JSONObject obj = new JSONObject();
obj.put("name", "jack");
obj.put("age", "30");
String jsonStr = obj.toString();
File jsonFile = new File("test.json");
writeStringToFile(jsonStr, jsonFile);
}
public static void writeStringToFile(String str, File file) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(str);
writer.close();
}
}
-생성된 test.json 파일입니다.
728x90
반응형
댓글