2015-12-02 93 views
0

Heyyy大家,AndroidAnnotation REST API列表不填充正確

那麼快,我已經得到了電影列表中的json與演員,但我的電影列表中未RLY工作,只有我的最後一個項目是在填充我的電影類。但是我的演員列表工作,如果我有7個演員,他們都正確填充。

的Json

{ 
    "status":"ok", 
    "status_message":"Query was successful", 
    "data":{ 
     "limit":20, 
     "page_number":1, 
     "movies":[ 
      {}, 
      {}, 
      {}, .... 
      { 
       "imdb_code":"tt0093748", 
       "title":"Planes, Trains & Automobiles", 
       "year":1987, 
       "rating":7.6, 
       "runtime":93, 
       "genres":[ 
        "Comedy" 
       ], 
       "actors":[ 
        { ..... }, 
        { ..... } 
       ], 
      } 
     ] 
    } 
} 

@JsonIgnoreProperties(ignoreUnknown = true) 
public class Example { 

    @JsonProperty("data") 
    public MovieList movieList; 

    public MovieList getMovieList() { 
     return movieList; 
    } 
} 

MovieList

@JsonIgnoreProperties(ignoreUnknown = true) 
public class MovieList { 

    @JsonProperty("movies") 
    public List<Movie> movies = new ArrayList<>();; 


} 

電影

@JsonIgnoreProperties(ignoreUnknown = true) 
public class Movie { 

    @JsonProperty("imdb_code")   public String imdb_code; 
    @JsonProperty("title")    public String title; 
    @JsonProperty("year")    public String year; 
    @JsonProperty("rating")    public String rating; 
    @JsonProperty("runtime")   public String runtime; 
    @JsonProperty("genres")    public List<String> genres = new ArrayList<>(); 
    @JsonProperty("actors")    public List<Actors> actors = new ArrayList<>(); 

} 

我的服務

@Rest(rootUrl = "https://localhost/api/", converters = { MappingJackson2HttpMessageConverter.class }) 
public interface MovieService { 

    @Get("/movies.json?sort_by={sortBy}&limit={limit}&page={page}") 
    @Accept(MediaType.APPLICATION_JSON) 
    Example getMovies(
      String sortBy, 
      int limit, 
      int page) 
      throws RestClientException; 
} 

而且這是我已經有了當我執行我的代碼,只有一部電影,而不是20

Example{ 
     data= 
     List_Movie{ 
      movies=[ 
       Movie{ 
       imdb_code='tt0093748', 
       title='Planes, Trains & Automobiles', 
       year='1987', 
       rating='7.6', 
       runtime='93', 
       genres=[Comedy], 
       actors=[ 
        Actors{ .... }, 
        Actors{ .... } 
        ] 
       } 
       ...... nothing more 
      ] 
    } 
} 

我已經嘗試了很多事情讀了很多論壇,現在我要問你,因爲我迷路了:/

+0

你登錄請求和響應,以確保網絡的請求好?你可以這樣做(https://github.com/yDelouis/selfoss-android/blob/master/app/src/main/java/fr/ydelouis/selfoss/rest/SelfossApiInterceptor.java)。 – WonderCsabo

+0

好吧,我剛剛得到它,我試過你說的話,在我的日誌中,我的回覆身體只有一個電影....我就像跆拳道,然後我發現我只是反轉我的號碼頁和我的極限電影我的要求...沒有你,我不知道我可以失去多少天! Ty dude !!! – vonclutch

回答

0

你好這裏是另一種解決方案,我想

圖書館github您可以根據自己的JSON數據生成類,並可以相應地獲取數據

@Json2Model(modelName = "YOUMODEL",jsonStr = "Your Json data here"; 

String YOUR_PCKG_NAME= "main_packg/subpckg"; 

Finaly你會得到通過JSON的響應

YOUMODEL youmodel= new Gson().from("yourdatagain",YOUMODEL.class); 

- >我發現它是conv的最佳解決方案耳聽JSON字符串模式

注: -這是給你的只是我知道沒有必要另闢蹊徑,使用強制

+0

事實上,我在API中有很多東西,這種方法對我來說有點困惑。我是Android/Java新手,所以我真的想要組織一些東西:) – vonclutch

+0

是的,但無論你在與json的字符串響應中獲得它可以創建模型accroding您的反應,你不必擔心 – Hardy