
๋ชจ๋ ์์ค๋ ์ฌ๊ธฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค. ์ปค์คํ ์ ๋ ธํ ์ด์ (@JacksonAnnotationInside) @JacksonAnnotationInside ์ ๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ์ปค์คํ ์ ๋ ธํ ์ด์ ์ ์ ์ํ ์ ์์ต๋๋ค. package io.lcalmsky.jackson.domain.annotation; import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.lang.annotation.Retention; import java.l..
๋ชจ๋ ์์ค๋ ์ฌ๊ธฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค. @JsonProperty JSON์์์ ์์ฑ ์ด๋ฆ์ ๋ํ๋ ๋๋ค. ํ๋ ๋ณ์ ๋๋ getter/setter ๋ฉ์๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค. package io.lcalmsky.jackson.domain; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; public class BeanWithJsonProperty { @Getter @Setter @JsonProperty("identity") private int id; private String name; @JsonProperty("nickname") public String getName()..
๋ชจ๋ ์์ค๋ ์ฌ๊ธฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค. Jackson์์ ๋คํ์ฑ ์ฒ๋ฆฌ๋ฅผ ์ํ์ฌ ์๋์ ๊ฐ์ ์ ๋ ธํ ์ด์ ์ ์ฌ์ฉํฉ๋๋ค. @JsonTypeInfo: ์ง๋ ฌํ ์ ํฌํจํ ํ์ ์ ๋ณด์ ์ธ๋ถ ์ฌํญ์ ๋ํ๋ ๋๋ค. @JsonSubTypes: ์ ๋ ธํ ์ด์ ์ด ๋ฌ๋ฆฐ ํ์ ์ ํ์ ํ์ ์ ์ง์ ํฉ๋๋ค. @JsonTypeName: ์ ๋ ธํ ์ด์ ์ด ๋ฌ๋ฆฐ ํ์ ์ ๋ ผ๋ฆฌ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. package io.lcalmsky.jackson.domain; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; ..
๋ชจ๋ ์์ค๋ ์ฌ๊ธฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค. @JsonIgnoreProperties @JsonIgnoreProperties๋ Jackson์ด ๋ฌด์ํ ์์ฑ ๋๋ ์์ฑ ๋ฆฌ์คํธ๋ฅผ ๋ํ๋ ๋๋ค. ๋ฌธ์์ด ๋ฐฐ์ด ํ์์ผ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค. package io.lcalmsky.jackson.domain; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.AccessLevel; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor(access = AccessLevel.PROTECTED) @JsonIgnoreProperties("password") pu..

๋ชจ๋ ์์ค๋ ์ฌ๊ธฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค. @JsonCreator ์ญ ์ง๋ ฌํ์ ์ฌ์ฉ๋๋ ์์ฑ์๋ ํฉํ ๋ฆฌ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. ํ์ํ ๋์ ์ํฐํฐ์ ์ ํํ ์ผ์นํ์ง ์๋ ์ผ๋ถ JSON์ ์ญ ์ง๋ ฌํํด์ผ ํ ๋ ์ ์ฉํฉ๋๋ค. ์๋์ ๊ฐ์ JSON์ด ์กด์ฌํ๊ณ { "id": 1, "theName": "beanName" } ๋์ ์ํฐํฐ์๋ "theName" ํ๋๊ฐ ์กด์ฌํ์ง ์์ง๋ง ์ํฐํฐ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ์ง ์์ ๋ ์์ฑ์์ @JsonCreator์ฃผ์์ ๋ฌ๊ณ @JsonProperty๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค. package io.lcalmsky.jackson.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jac..

๋ชจ๋ ์์ค๋ ์ฌ๊ธฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค. Jackson Serialization jackson์ด ์ ๊ณตํ๋ ์ง๋ ฌํ(serialization) ์ ๋ ธํ ์ด์ ์ ๋ํด ์์๋ด ์๋ค. @JsonAnyGetter Map ํ๋๋ฅผ ํ์ค property๋ก ์ฌ์ฉํ ์ ์๋ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. package io.lcalmsky.jackson_test.domain; import com.fasterxml.jackson.annotation.JsonAnyGetter; import java.util.HashMap; import java.util.Map; public class ExtendableBean { public String name; private Map properties; public ExtendableBean(Strin..
- ๋ณดํต ์ค์๊ฐ ์๋ฆผ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ์น์์ผ์ ์ฌ์ฉํ โฏ
- ๋ก๊ทธ์ธ ๋ฐฉ์์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๊ณ ์ธ์ ์ด๋ ์ฟ ํค๋ฅผ ์ด์ฉํโฏ
- ๋ต๋ณ์ด ๋ฆ์ด์ ์ฃ์กํฉ๋๋ค. ๋ฐ๋น ์ ๋ธ๋ก๊ทธ ๋ฐฉ๋ฌธ์ด ๋ธํ๋คโฏ
- ์๋ ํ์ธ์! ์๋ฆผ์ค์ ๊น์ง ์ ์์ต๋๋ค. ํ๋ฐ ์๋ฆผ์ด๋ผโฏ
- Total
- 203,533
- Today
- 199
- Yesterday
- 466
- leetcode
- ์คํ๋ง๋ถํธ
- QueryDSL
- @ManyToOne
- ์๊ณ ๋ฆฌ์ฆ
- ์คํ๋ง ๋ถํธ
- JPA
- ์คํ๋ง ๋ถํธ ํํ ๋ฆฌ์ผ
- spring boot application
- Java
- Linux
- gRPC
- ํจ๊ป ์๋ผ๊ธฐ ํ๊ธฐ
- ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ
- JSON
- ํจ๊ป ์๋ผ๊ธฐ
- Spring Data JPA
- spring boot app
- Spring Boot JPA
- Spring Boot
- spring boot jwt
- proto3
- intellij
- ์คํ๋ง ๋ถํธ ํ์ ๊ฐ์
- ์คํ๋ง ๋ฐ์ดํฐ jpa
- Spring Boot Tutorial
- r
- ์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์
- Jackson
- ํด๋ฆฐ ์ํคํ ์ฒ