본문 바로가기
IT/JSON

[JSON] - JSON json-simple 라이브러리(JSONObject, JSONArray, JSONParser) 사용법

by 차이나는 개발자 2022. 6. 28.
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
반응형

댓글