2016-07-07 4 views
1

일부 json 값을 클래스 멤버 변수에 매핑해야합니다.JSON 값을 Retrofit Android로 클래스 변수에 매핑하십시오.

This is a part of result JSON from Open Weather API

나는 위도와 경도 값을 가져 아래 수업 시간에 할 필요가있다.

public class City { 

@SerializedName("name") 
private String name; 

private String latitude; 

private String longitude; 

// CONSTRUCTORS 

// GETTERS AND SETTERS} 

도시 이름은 @SerializedName을 사용하여 매핑 된 있지만 COORD JSON 개체의 일부이기 때문에 그것은 위도와 경도 작동하지 않습니다.

지도 작성 방법을 찾도록 도와 드릴까요? 도시 클래스에 객체를 넣고 싶지 않습니다.

이것은 내가해야 할 일의 또 다른 예입니다.

this is forecast list result for an openweather map api query.

내가 너무 날씨 클래스를 만드는 오전하지만 난 날씨 배열 또는 임시 배열하지만 일부 값에서 모든 변수를 저장할 필요가 없습니다. 일부 값은 완전히 필요하지 않습니다. 도시 예제에서 나는 coord 객체를 만들고 싶지는 않지만 lat와 lon 값만 저장하고 싶습니다.

+0

위의 json에 대한 Model 클래스를 만들시겠습니까? – Drv

+0

당신은 도시 클래스에 coord 객체를 놓아야합니다 (또한 이해할 수 있습니다). 좌표 객체를 노출시키지 않고 "getLat"및 "getLon"을 사용하여 API를 병합 할 수 있습니다. – DeeV

+0

안녕 Drv와 DeeV. 더 잘 설명하기 위해 질문을 업데이트했습니다. –

답변

0

웹 사이트 JsonSchema2Pojo을 사용하시기 바랍니다. 이렇게하면 올바른 주석을 사용하여 필수 클래스를 만들 수 있습니다.

Android Studio 플러그인 GsonFormat을 사용할 수도 있습니다.

+0

감사! 하지만 필요한 필드만으로 수업을 만드는 방법은 무엇입니까? Lat 및 Lon 필드는 중첩 배열이므로 Coord가 아닌 City 클래스에서이 필드를 가져 오려고합니다. –

+0

다른 필드를 적절하게 제거 할 수 있습니다. 그러나 구조는 동일하게 유지되어야합니다. –

+0

예,'@ SerializedName'을 사용하여 이름을 얻을 수있는 것처럼 위도와 경도를 얻을 수 없습니다. –

관련 문제