2014-11-24 2 views
0

그래서 'public'이라는 부울 필드가있는 JSON 객체를 보내는 공용 API를 사용하고 있습니다.자바에서 JSON 직렬화/직렬화 해제를 위해 'public'변수를 지정할 수 있습니까?

{ 
    ... 
    "public" : true, 
    ... 
} 
나는 자바 클래스에이 구문 분석 GSON을 사용하고

, 그러나 이것은 물론 자바 렉서/파서에 동의하지 않는 다음과 같은 변수 선언 저를 강제로 :

private boolean public; 

을 내 변수의 이름을 public으로 지정할 수있는 방법이 있습니까?

답변

10

Gson의 @SerializedName 주석을 사용하십시오.

@SerializedName("public") 
private boolean someOtherName; 

당신은 자바 소스 코드에서 식별자 이름으로 단어 public (또는 다른 예약 된 키워드)를 사용할 수 없습니다.

대부분의 기능이 풍부한 JSON 파서에는 이름 지정 제한이없는 JSON 키의 이름을 지정하는 데 사용되는 주석 또는 기타 메커니즘이 있습니다.

+0

감사합니다. 나는 이걸 모른다. – mprabhat

+0

건배. 내가 찾고있는 건. – appel

+0

@appel 그런 다음 답을 수락하십시오. – eckes