
๋ชจ๋ ์์ค๋ ์ฌ๊ธฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค. ์ปค์คํ ์ ๋ ธํ ์ด์ (@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
- 83,835
- Today
- 55
- Yesterday
- 439
- @ManyToOne
- Spring Boot Tutorial
- leetcode
- leetcode bst
- spring boot application
- Spring Data JPA
- ์คํ๋ง ๋ถํธ ํํ ๋ฆฌ์ผ
- spring boot app
- Spring Boot JPA
- ์คํ๋ง ๋ถํธ
- ์คํ๋ง ๋ถํธ jwt
- leetcode stack
- JPA
- ์๊ณ ๋ฆฌ์ฆ
- spring boot jwt
- QueryDSL
- Jackson
- ์คํ๋ง ๋ฐ์ดํฐ jpa
- intellij
- Java
- r
- gRPC
- ์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์
- ์คํ๋ง๋ถํธ
- ์คํ๋ง ๋ถํธ ํ์ ๊ฐ์
- proto3
- JSON
- leetcode binary search
- Linux
- Spring Boot