๊ฐ์
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