Notice
Recent Posts
Recent Comments
준호씨의 블로그
Jackson Json - json name을 snake case로 바꾸기 본문
반응형
아래와 같은 Person 클래스가 있습니다. (편의상 lombok을 사용합니다.)
@Data
@Builder
public class Person {
private String firstName;
private String lastName;
private String byName;
private String phoneNumber;
}
person 인스턴스를 만들고 ObjectMapper로 json string을 출력합니다.
@SpringBootTest
public class MyTest {
@Autowired
private ObjectMapper mapper;
@Test
public void test() throws JsonProcessingException {
Person person = Person.builder()
.firstName("Michael")
.lastName("Jordan")
.byName("Air Jordan")
.build();
System.out.println(mapper.writeValueAsString(person));
}
}
아래처럼 json name부분이 camel case로 나옵니다.
{"firstName":"Michael","lastName":"Jordan","byName":"Air Jordan","phoneNumber":null}
firstName처럼 첫 글자가 소문자고 이후 단어부터는 첫 글자가 대문자로 나오는 게 camel case입니다. 낙타의 등 모양 같다고 camel case라고 합니다.
그런데 만약 first_name처럼 사이사이에 underbar(_)가 들어가는 snake case방식으로 출력하고 싶을 수 있습니다. 그럴 때는 아래처럼
@Data
@Builder
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class Person {
private String firstName;
private String lastName;
private String byName;
private String phoneNumber;
}
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)를 붙여주면 됩니다.
json name이 first_name으로 snake case로 나옵니다.
{"first_name":"Michael","last_name":"Jordan","by_name":"Air Jordan","phone_number":null}
springboot 프로젝트인 경우 application.properties에 아래처럼 설정하면 됩니다.
spring.jackson.property-naming-strategy=SNAKE_CASE
반응형
'개발이야기' 카테고리의 다른 글
메시지 전달 서비스 프로젝트 작명하기 (0) | 2020.08.05 |
---|---|
분산 메시징 시스템 카프카(Kafka)의 간단한 역사와 이름의 의미 (0) | 2020.08.03 |
Jackson Json - json 가독성 높이기. pretty printer (0) | 2020.07.31 |
Jackson Json - null 필드 생략하기 (2) | 2020.07.30 |
OSX - npm오류. gyp: No Xcode or CLT version detected! (0) | 2020.07.29 |
Comments