2015-12-02 69 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