작성
·
234
1
static class Hello {
private String name2;
public String getName() {
return name2;
}
public void setName(String name2) {
this.name2 = name2;
}
}
이렇게 변수 이름을 name2로 바꿔줘도 json으로 바뀌면
키 값이 name인데 이유가 뭔가요? 그런데 get, set
메서드 이름에도 2(getName2, setName2)를 붙여주면
키 값이 name2로 잘 나옵니다 이렇게 동작하는 이유가
뭔가요?
답변 2
1
안녕하세요. 3대500거뜬히가능님
JSON으로 변경할 때 기본으로 필드를 참고하는 것이 아니라 자바빈 프로퍼티 방식 명명 방식을 사용합니다.
예를 들어서 getName(), setName()은 name이라는 이름의 프로퍼티 이름이 되는 것이지요.
관련해서 더 자세한 내용은 자바빈 프로퍼티로 검색해보시면 도움이 되실거에요.
감사합니다.
0
저도 어떻게 JsonConverter가 private를 읽는가 궁금해서 이래저래 해보니까
결과물인 Json의 변수명은 객체의 변수명이 아니라 getter의 메서드명을 따라가는 것을 보고 알았네요.
객체내의 변수를 직접 json으로 만드는게 아니라 메서드 getter를 통해 간접적으로 접근하는 그런 방식인거겠죠??
네 맞습니다^^