λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Study/JSP

[JSP] ObjectMapper

by hong- 2022. 11. 18.

πŸ™πŸ» ObjectMapper

 : JSON ν˜•μ‹μ„ μ‚¬μš©ν•  λ•Œ, 응닡듀을 μ§λ ¬ν™”ν•˜κ³  μš”μ²­λ“€μ„ 역직렬화할 λ•Œ μ‚¬μš©

 

πŸ’‘ JSON 

  [ ν‚€ : κ°’ ] 쌍으둜 이루어진 데이터λ₯Ό μ „λ‹¬ν•˜κΈ° μœ„ν•΄ μ‚¬λžŒμ΄ 읽을 수 μžˆλŠ” ν…μŠ€νŠΈλ₯Ό μ‚¬μš©ν•˜λŠ” 포멧

 

πŸ’‘ 직렬화

 κ°μ²΄(Object)λ₯Ό λ¬Έμžμ—΄(String)으둜 λ³€ν™˜ - 데이터 전솑을 μœ„ν•˜μ—¬

 

πŸ’‘ μ—­μ§λ ¬ν™”

 λ¬Έμžμ—΄(String)을 객체(Object)둜 λ³€ν™˜ - 데이터 전솑이 λλ‚œ ν›„ νšŒλ³΅μ„ μœ„ν•˜μ—¬


@Getter
class Car {
    private String name;
    private String color;
    
    public Car(String name, String color) {
    	this.name = name;
        this.color = color;
    }
    
    
    public Car( ) {
    	this.name = null;
        this.color = null;
    } 
  }

πŸ“  @Getter

 κ°μ²΄λ₯Ό λ¬Έμžμ—΄λ‘œ λ°”κΎΈκΈ° μœ„ν•΄μ„œλŠ” κΌ­ ν•„μš”ν•œ μ–΄λ…Έν…Œμ΄μ…˜μž…λ‹ˆλ‹€.

πŸ“  Car( )

 λ¬Έμžμ—΄μ„ 객체둜 λ°”κΎΈκΈ° μœ„ν•΄ ν•„μš”ν•œ μƒμ„±μž μž…λ‹ˆλ‹€.

 

1) Object → String으둜 λ³€ν™˜

πŸ’‘ wirteValue(λ³€ν™˜ν•  JSON ν˜•μ‹μ˜ 파일, λ³€ν™˜ν•  객체)
 - Java κ°μ²΄λ₯Ό JSON ν˜•μ‹μœΌλ‘œ μ§λ ¬ν™” κ°€λŠ₯
 
πŸ’‘ writeValueAsString(λ³€ν™˜ν•  객체)
 - Java κ°μ²΄λ₯Ό JSON ν˜•식을 λ³€ν™˜ κ°€λŠ₯

 πŸ‘‰πŸ» writeValueAsString( )의 μ˜ˆμ‹œ

ObjectMapper mapper = new ObjectMapper();
Car car = new Car("k5", "gray");

String text = mapper.writeValueAsString(car);

∴ κ²°κ³Ό : { "name" : "k5", "color" : "gray" }

 

2) String → Object으둜 λ³€ν™˜

πŸ’‘ readValue(λ³€ν™˜ν•  JSON ν˜•μ‹, λ³€ν™˜ν•  νƒ€μž…)
- JSON ν˜•식을 Java κ°μ²΄λ‘œ μ—­μ§λ ¬ν™” κ°€λŠ₯


πŸ’‘ readTree(λ³€ν™˜ν•  JSON ν˜•μ‹)
- JSON ν˜•식을 JSON Node μ˜€λΈŒμ νŠΈλ‘œ νŒŒμ‹±ν•œ λ’€ νŠΉμ •ν•œ λ…Έλ“œλ‘œλΆ€ν„° λ°μ΄ν„°λ₯Ό νšŒμˆ˜ν•˜μ—¬ μ‚¬μš© κ°€λŠ₯

 πŸ‘‰πŸ» readValue( )의 μ˜ˆμ‹œ

Car carObject = mapper.readValue(text, Car.class);

∴ κ²°κ³Ό : Car{ "name" : "k5", "color" : "gray" }

'Study > JSP' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[JSP] JSP  (0) 2022.11.22
[JSP] DataTables  (0) 2022.11.22
[JSP] Mybatis  (0) 2022.11.18
[JSP] JQuery  (0) 2022.11.18
[JSP] JSTL  (0) 2022.11.18