사용자 도구

사이트 도구


java:jackson

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
java:jackson [2019/02/28 15:46]
kwon37xi [@JsonCreator]
java:jackson [2020/07/22 14:31]
kwon37xi [Java 8]
줄 140: 줄 140:
  
  
 +===== JsonNodeFactory =====
 +  * [[https://fasterxml.github.io/jackson-databind/javadoc/2.1.0/com/fasterxml/jackson/databind/node/JsonNodeFactory.html|JsonNodeFactory]]
 +  * ''JsonNodeFactory.instance.objectNode()'' 를 통해 원하는 형태의 JSON 을 생성할 수 있다.
 +  * [[java:json|Java JSON]]
 +
 +<code java>
 +JsonNodeFactory.instance.objectNode().put("id", 123L)
 +            .put("name", "JSONNODE")
 +            .put("age", 12)
 +            .toString();
 +</code>
 +
 +===== Java 8 =====
 +  * [[https://github.com/FasterXML/jackson-modules-java8|jackson modules java8]]
 +  * Jackson 2 까지는 다음과 같이 모듈들을 추가해줘야 하며 Jackson 3 부터는 Java 8이 필수라서 기본 지원이 된다.
 +
 +<code>
 +<dependency>
 +    <groupId>com.fasterxml.jackson.module</groupId>
 +    <artifactId>jackson-module-parameter-names</artifactId>
 +</dependency>
 +<dependency>
 +    <groupId>com.fasterxml.jackson.datatype</groupId>
 +    <artifactId>jackson-datatype-jdk8</artifactId>
 +</dependency>
 +<dependency>
 +    <groupId>com.fasterxml.jackson.datatype</groupId>
 +    <artifactId>jackson-datatype-jsr310</artifactId>
 +</dependency>
 +</code>
 +
 +<code java>
 +// Up to Jackson 2.9: (but not with 3.0)
 +ObjectMapper mapper = new ObjectMapper()
 +   .registerModule(new ParameterNamesModule())
 +   .registerModule(new Jdk8Module())
 +   .registerModule(new JavaTimeModule()); // new module, NOT JSR310Module
 +
 +// with 3.0 (or with 2.10 as alternative)
 +ObjectMapper mapper = JsonMapper.builder() // or different mapper for other format
 +   .addModule(new ParameterNamesModule())
 +   .addModule(new Jdk8Module())
 +   .addModule(new JavaTimeModule())
 +   // and possibly other configuration, modules, then:
 +   .build();
 +</code>
 ===== 참고 ===== ===== 참고 =====
   * [[http://www.baeldung.com/jackson-serialize-dates|Jackson Date]]<code java>   * [[http://www.baeldung.com/jackson-serialize-dates|Jackson Date]]<code java>
줄 155: 줄 201:
   * [[https://www.baeldung.com/jackson-annotations|Jackson Annotation Examples | Baeldung]]   * [[https://www.baeldung.com/jackson-annotations|Jackson Annotation Examples | Baeldung]]
   * [[https://cheese10yun.github.io/jackson-annotation/|Jackson 어노테이션 사용법(1) - Yun Blog]]   * [[https://cheese10yun.github.io/jackson-annotation/|Jackson 어노테이션 사용법(1) - Yun Blog]]
 +  * [[https://dzone.com/articles/jackson-json-and-the-proper-handling-of-unknown-fi|Jackson, JSON and the Proper Handling of Unknown Fields in APIs - DZone Java]]
java/jackson.txt · 마지막으로 수정됨: 2023/10/04 14:47 저자 kwon37xi