๊ฐ์
Kakao REST API ๋ฅผ ์ฌ์ฉํ๋ ์ค Json ํํ๋ก ๊ฐ์ ๋ค๋ฃจ๋ ๊ณผ์ ์์ ObjectMapper ๋ฅผ ์๊ฒ ๋์๋ค.
Java ๋ก Parsing ํ๋ ๊ณผ์ ์ ๋ฐฐ์ด๋ค.
- "Java Object" =Serialize=> "JSON"
- "JSON" =Deserialize=> "Java Object"
 
Maven ์ค์ 
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.3</version>
</dependency>
 
์์ | User Object
public class User {
    private String name;
    private int age;
    
    public User(String name, int age) {
    	this.name = name;
        this.age = age;
    }
    
    public String getName() {
    	return name;
	}
    
    public int getAge() {
    	return age;
	}
}
 
์์ | Convert "Java Object" to "JSON
public class TestConvert {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		ObjectMapper objectMapper = new ObjectMapper();
		User user = new User("Ryan", 30);
		objectMapper.writeValue(new File("user.json"), user);
		// ํ์ผ ์ถ๋ ฅ: user.json
		// {"name":"Ryan","age":30}
		// ๋ฌธ์์ด ์ถ๋ ฅ
		String userAsString = objectMapper.writeValueAsString(user);
		// {"name":"Ryan","age":30}
	}
}
์์ | Convert "JSON" to "Java Object"
๋๋ณด๊ธฐ
// String to Object
String json = "{ \"name\" : \"Ryan\", \"age\" : 30 }";
User user = objectMapper.readValue(json, User.class);
// JSON File to Object
User user = objectMapper.readValue(new File("user.json"), User.class);
// JSON URL to Object
User user = objectMapper.readValue(new URL("file:user.json"), User.class);
 
 
์์ | Convert "JSON" to "Jackson JsonNode"
๋๋ณด๊ธฐ
String json = "{ \"name\" : \"Ryan\", \"age\" : 30 }";
JsonNode jsonNode = objectMapper.readTree(json);
String name = jsonNode.get("name").asText();// Ryan
int age = jsonNode.get("age").asInt();// 30
 
 
์์ | Convert "JSON Array String" to "Java List"
๋๋ณด๊ธฐ
String jsonArr = "[{\"name\":\"Ryan\",\"age\":30},{\"name\":\"Jake\",\"age\":20}]";
List<User> users = objectMapper.readValue(jsonArr, new TypeReference<>() {});
 
 
์์ | Convert "JSON String" to "Java Map"
๋๋ณด๊ธฐ
String jsonArr = "{\"name\":\"Ryan\",\"age\":30}";
Map<String, Object> user = objectMapper.readValue(jsonArr, new TypeReference<>() {
});
 
 
 
 
์ผ๋จ ObjectMapper ๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์๋ค.
์ฌ์ ๊ฐ ๋๋ค๋ฉด Custom Serializer or Deserializer ์ ๋ํด์๋ ์ ๋ฆฌํด์ ๊ณต๋ถํด๋ณด์.
 
 
์ถ์ฒ | RyanGomdoriPooh