๐Ÿ’ป ๊ณต๋ถ€ ๊ธฐ๋ก/โ˜• Java

Java | ObjectMapper

  • -

๊ฐœ์š”

Kakao REST API ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ์ค‘ Json ํ˜•ํƒœ๋กœ ๊ฐ’์„ ๋‹ค๋ฃจ๋Š” ๊ณผ์ •์—์„œ ObjectMapper ๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

Java ๋กœ Parsing ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐฐ์šด๋‹ค.

  1. "Java Object" =Serialize=> "JSON"
  2. "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

'๐Ÿ’ป ๊ณต๋ถ€ ๊ธฐ๋ก > โ˜• Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Java | ๋ฌธ์ž์—ด JSON ๋ณ€ํ™˜  (0) 2023.01.17
Java/JSP | HttpServlet  (0) 2023.01.17
Java | Foreach  (0) 2023.01.09
Java | Comparator  (0) 2023.01.09
Java | equals  (0) 2023.01.09
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.