gpt4 book ai didi

java.lang.IllegalStateException : Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 7770 path $. 电影[8].images.poster

转载 作者:行者123 更新时间:2023-12-01 16:28:30 25 4
gpt4 key购买 nike

我收到错误java.lang.IllegalStateException:预期为 BEGIN_OBJECT,但在第 1 行第 7770 列路径 $.films[8].images.poster 处为 BEGIN_ARRAY当我尝试返回电影列表时。该应用程序工作正常,直到昨天我来测试它时,它现在抛出此错误。自从超出限制后,我没有更改任何代码,只更改了 API 凭据。

主要 Activity

public class MainActivity extends AppCompatActivity {
private TextView textViewResult;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textViewResult = findViewById(R.id.text_view_result);

OkHttpClient.Builder client = new OkHttpClient.Builder();
client.addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request request = chain.request()
.newBuilder()
.addHeader("api-version", "v200")
.addHeader("Authorization", "*******************************")
.addHeader("client", "***************")
.addHeader("x-api-key", "********************************")
.addHeader("device-datetime", "2018-09-14T08:30:17.360Z")
.addHeader("territory", "UK")
.addHeader("Geolocation", "52.4814;-1.8998")
.build();
Log.d("djd", request.toString());
return chain.proceed(request);
}
});
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.baseUrl("https://api-gate2.movieglu.com/")
.client(client.build())
.build();

MovieGluApi movieGluApi = retrofit.create(MovieGluApi.class);
Call<Film> filmCall = movieGluApi.getFilmNames();
filmCall.enqueue(new Callback<Film>() {
@Override
public void onResponse(Call<Film> call,Response<Film> response) {
if (!response.isSuccessful()){
textViewResult.setText("Code: " + response.code());
Log.d("dfkjf", response.toString());
return;
}

assert response.body() != null;
List<Film> films = response.body().getFilms();
Log.d("dfkjf", response.toString());

for (Film film : films){
String content = "";
content += "Film ID: " + film.getFilmId() +"\n";
content += "IMDB ID: " + film.getImdbId() +"\n";
content += "Film Name: " + film.getFilmName() +"\n\n";
Log.d("Film name", film.toString());
textViewResult.append(content);
}
}
@Override
public void onFailure(Call<Film> call, Throwable t) {
textViewResult.setText(t.getMessage());
Log.d("What is films", t.getMessage());
}
});
}
}

API服务

    @GET("filmsNowShowing/")
Call<Film> getFilmNames();

@GET("cinemasNearby/")
Call <Cinema> getNearbyCinema();
}

电影模型

public class Film {

@SerializedName("films")
@Expose
List<Film> films;

public List<Film> getFilms() {
Log.d("What is films", films.toString());
return films;
}


@SerializedName("film_id")
@Expose
private Integer filmId;
@SerializedName("imdb_id")
@Expose
private Integer imdbId;
@SerializedName("film_name")
@Expose
private String filmName;
@SerializedName("release_dates")
@Expose
private List<ReleaseDate> releaseDates = null;
@SerializedName("age_rating")
@Expose
private List<AgeRating> ageRating = null;
@SerializedName("film_trailer")
@Expose
private Object filmTrailer;
@SerializedName("synopsis_long")
@Expose
private String synopsisLong;
@SerializedName("images")
@Expose
private Images images;

public Integer getFilmId() {
return filmId;
}

public void setFilmId(Integer filmId) {
this.filmId = filmId;
}

public Integer getImdbId() {
return imdbId;
}

public void setImdbId(Integer imdbId) {
this.imdbId = imdbId;
}

public String getFilmName() {
return filmName;
}

public void setFilmName(String filmName) {
this.filmName = filmName;
}

public List<ReleaseDate> getReleaseDates() {
return releaseDates;
}

public void setReleaseDates(List<ReleaseDate> releaseDates) {
this.releaseDates = releaseDates;
}

public List<AgeRating> getAgeRating() {
return ageRating;
}

public void setAgeRating(List<AgeRating> ageRating) {
this.ageRating = ageRating;
}

public Object getFilmTrailer() {
return filmTrailer;
}

public void setFilmTrailer(Object filmTrailer) {
this.filmTrailer = filmTrailer;
}

public String getSynopsisLong() {
return synopsisLong;
}

public void setSynopsisLong(String synopsisLong) {
this.synopsisLong = synopsisLong;
}

public Images getImages() {
return images;
}

public void setImages(Images images) {
this.images = images;
}

}

JSON 响应 - postman

{
"films": [
{
"film_id": 3139,
"imdb_id": 112641,
"film_name": "Casino",
"release_dates": [
{
"release_date": "1995-11-28",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "18 ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/18.png",
"age_advisory": "strong violence"
}
],
"film_trailer": null,
"synopsis_long": "Robert DeNiro, Sharon Stone and Joe Pesci star in director Martin Scorsese's riveting look at how blind ambition, white-hot passion and 24-karat greed toppled an empire. Las Vegas 1973 is the setting for this fact-based story about the Mob's multi-million dollar casino operation - where fortunes and lives were made and lost with a roll of the dice.",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "global",
"medium": {
"film_image": "https://image.movieglu.com/3139/003139h1.jpg",
"width": 199,
"height": 300
}
}
}
}
},
{
"film_id": 7257,
"imdb_id": 80455,
"film_name": "The Blues Brothers",
"release_dates": [
{
"release_date": "2009-07-24",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "15 ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/15.png",
"age_advisory": ""
}
],
"film_trailer": "https://trailer.movieglu.com/7257_high.mp4",
"synopsis_long": "Jake and Elwood Blues endeavor to raise $5,000 for their childhood parrish by putting their old band back together uand taking their show on the road. While touring, they manage to wreak havoc on the entire city of Chicago and much of the midwest.",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "UK",
"medium": {
"film_image": "https://image.movieglu.com/7257/GBR_007257h0.jpg",
"width": 200,
"height": 300
}
},
"2": {
"image_orientation": "portrait",
"region": "global",
"medium": {
"film_image": "https://image.movieglu.com/7257/AUS_007257h0.jpg",
"width": 164,
"height": 300
}
}
}
}
},
{
"film_id": 12486,
"imdb_id": 94336,
"film_name": "Withnail & I",
"release_dates": [
{
"release_date": "2007-09-07",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "15 ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/15.png",
"age_advisory": ""
}
],
"film_trailer": null,
"synopsis_long": "",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "UK",
"medium": {
"film_image": "https://image.movieglu.com/12486/GBR_012486h0.jpg",
"width": 200,
"height": 300
}
}
}
}
},
{
"film_id": 279925,
"imdb_id": 7549996,
"film_name": "Judy",
"release_dates": [
{
"release_date": "2019-10-04",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "12A ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/12a.png",
"age_advisory": "scenes of drug misuse, infrequent strong language"
}
],
"film_trailer": "https://trailer.movieglu.com/279925_uk_high_V3.mp4",
"synopsis_long": "Winter 1968 and showbiz legend Judy Garland arrives in Swinging London to perform a five-week sold-out run at The Talk of the Town. It is 30 years since she shot to global stardom in The Wizard of Oz, but if her voice has weakened, its dramatic intensity has only grown. As she prepares for the show, battles with management, charms musicians and reminisces with friends and adoring fans, her wit and warmth shine through. Even her dreams of love seem undimmed as she embarks on a whirlwind romance with Mickey Deans, her soon-to-be fifth husband. Featuring some of her best-known songs, the film celebrates the voice, the capacity for love, and the sheer pizzazz of \"the world's greatest entertainer.\"",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "UK",
"medium": {
"film_image": "https://image.movieglu.com/279925/GBR_279925h0.jpg",
"width": 202,
"height": 300
}
}
},
"still": {
"1": {
"image_orientation": "landscape",
"medium": {
"film_image": "https://image.movieglu.com/279925/279925h2.jpg",
"width": 300,
"height": 200
}
}
}
}
},
{
"film_id": 80849,
"imdb_id": 77631,
"film_name": "Grease Sing-A-Long",
"release_dates": [
{
"release_date": "2010-07-13",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "PG ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/pg.png",
"age_advisory": ""
}
],
"film_trailer": null,
"synopsis_long": "Rydell High's most famous graduating class is going back to school. A newly restored print brings the highest-grossing musical of all time, \"Grease\" (1978), to the big screen as a sing-along. Join Danny and Sandy with your own crew of T-Birds and Pink Ladies for a carnival ride back to those amazing summer nights!",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "global",
"medium": {
"film_image": "https://image.movieglu.com/80849/080849h1.jpg",
"width": 200,
"height": 300
}
}
},
"still": {
"1": {
"image_orientation": "landscape",
"medium": {
"film_image": "https://image.movieglu.com/80849/080849h2.jpg",
"width": 300,
"height": 200
}
}
}
}
},
{
"film_id": 281047,
"imdb_id": 7715070,
"film_name": "Horrible Histories: The Movie",
"release_dates": [
{
"release_date": "2019-07-26",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "PG ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/pg.png",
"age_advisory": "mild comic violence, injury detail, rude humour, language"
}
],
"film_trailer": "https://trailer.movieglu.com/281047_uk_high.mp4",
"synopsis_long": "Friends, Romans, Celts lend us your ears. The all-conquering Romans rule the civilised world and that includes the stain that is Britain. While the young Emperor Nero must battle his scheming mother Agrippina for ultimate power, Celt queen Boudicca gathers an army in Britain to repel the rotten Romans. Mixed up in this battle for liberation are the teenage Atti, a reluctant Roman soldier, and Orla, a young Celt with dreams of becoming a warrior like Boudicca. Will they fall on opposite sides or forge a friendship in the chaos of Celtic-inspired rebellion?",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "UK",
"medium": {
"film_image": "https://image.movieglu.com/281047/GBR_281047h0.jpg",
"width": 200,
"height": 300
}
}
},
"still": {
"1": {
"image_orientation": "landscape",
"medium": {
"film_image": "https://image.movieglu.com/281047/281047h2.jpg",
"width": 300,
"height": 200
}
}
}
}
},
{
"film_id": 2129,
"imdb_id": 45152,
"film_name": "Singin' in the Rain",
"release_dates": [
{
"release_date": "2019-10-18",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "U ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/u.png",
"age_advisory": "very mild comic violence"
}
],
"film_trailer": "https://trailer.movieglu.com/2129_high.mp4",
"synopsis_long": "Gene Kelly, Debbie Reynolds and Donald O'Connor star in Singin' in the Rain, one of the greatest and most successful musicals ever filmed - filled with memorable songs, lavish routines and Kelly's fabulous song-and-dance number performed in the rain.\n\nSet during the advent of \"talkies,\" Don Lockwood has risen to stardom during Hollywood's silent-movie era - paired with the beautiful, jealous and dumb Lina Lamont. And when Lockwood becomes attracted to young studio singer Kathy Selden, Lamont has her fired.\n\nBut with the introduction of talking pictures, Lockwood finds his career in jeopardy after audiences laugh when they hear Lamont speak in her shrill voice for the first time... until the studio decides to use Selden to dub her voice.",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "UK",
"medium": {
"film_image": "https://image.movieglu.com/2129/GBR_002129h0.jpg",
"width": 200,
"height": 300
}
},
"2": {
"image_orientation": "portrait",
"region": "global",
"medium": {
"film_image": "https://image.movieglu.com/2129/AUS_002129h0.jpg",
"width": 220,
"height": 300
}
}
},
"still": {
"1": {
"image_orientation": "landscape",
"medium": {
"film_image": "https://image.movieglu.com/2129/002129h2.jpg",
"width": 300,
"height": 200
}
}
}
}
},
{
"film_id": 6548,
"imdb_id": 38669,
"film_name": "The Killers (1946)",
"release_dates": [
{
"release_date": "1946-09-16",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "PG ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/pg.png",
"age_advisory": ""
}
],
"film_trailer": null,
"synopsis_long": "",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "UK",
"medium": {
"film_image": "https://image.movieglu.com/6548/GBR_006548h0.jpg",
"width": 200,
"height": 300
}
}
}
}
},
{
"film_id": 4705,
"imdb_id": 96928,
"film_name": "Bill & Ted's Excellent Adventure",
"release_dates": [
{
"release_date": "1989-08-25",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "PG ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/pg.png",
"age_advisory": "Contains mild language and violence"
}
],
"film_trailer": null,
"synopsis_long": "Bill Preston and Ted Logan are two totally excellent dudes facing one most heinous history exam. With the help of Rufus an ultra-cool messenger in a time traveling phone booth, the triumphant two-some bag a bevy of historical heavy weights like the \"Bodacious Philosopher Socrates, \"One Very Excellent Barbarian\" Genghis Khan, the \"Short Dead Dude\" Napoleon and Noah's Wife Joan of Arc to stage the most hysterical high school project ever. History's about to be rewritten by two guys who can't even spell.",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "UK",
"medium": {
"film_image": "https://image.movieglu.com/4705/GBR_004705h0.jpg",
"width": 200,
"height": 300
}
}
}
}
},
{
"film_id": 3855,
"imdb_id": 93191,
"film_name": "Wings of Desire",
"release_dates": [
{
"release_date": "1990-10-01",
"notes": "GBR"
}
],
"age_rating": [
{
"rating": "12 ",
"age_rating_image": "https://assets.movieglu.com/age_rating_logos/uk/12.png",
"age_advisory": "Contains one use of strong language"
}
],
"film_trailer": null,
"synopsis_long": "\"Wings of Desire\" is one of cinema's loveliest city symphonies. Bruno Ganz is Damiel, an angel perched atop buildings high over Berlin who can hear the thoughts fears, hopes, dreams of all the people living below. But when he falls in love with a beautiful trapeze artist, he is willing to give up his immortality and come back to earth to be with her. Made not long before the fall of the Berlin wall, this stunning tapestry of sounds and images, shot in black and white and color by the legendary Henri Alekan, is movie poetry. And it forever made the name Wim Wenders synonymous with film art.",
"images": {
"poster": {
"1": {
"image_orientation": "portrait",
"region": "UK",
"medium": {
"film_image": "https://image.movieglu.com/3855/GBR_003855h0.jpg",
"width": 200,
"height": 300
}
}
},
"still": {
"1": {
"image_orientation": "landscape",
"medium": {
"film_image": "https://image.movieglu.com/3855/003855h2.jpg",
"width": 300,
"height": 200
}
}
}
}
}
],
"status": {
"count": 10,
"state": "OK",
"method": "filmsNowShowing",
"message": null,
"request_method": "GET",
"version": "WALS_2v200",
"territory": "UK",
"device_datetime_sent": "2020-05-17T08:30:17.360Z",
"device_datetime_used": "2020-05-17 08:30:17"
}
}

最佳答案

使用这些 pogo 类并运行您的代码

==================================
package ;
public class Release_dates
{
private DateTime release_date;

private String notes;

public void setRelease_date(DateTime release_date){
this.release_date = release_date;
}
public DateTime getRelease_date(){
return this.release_date;
}
public void setNotes(String notes){
this.notes = notes;
}
public String getNotes(){
return this.notes;
}
}

==================================
package ;
public class Age_rating
{
private String rating;

private String age_rating_image;

private String age_advisory;

public void setRating(String rating){
this.rating = rating;
}
public String getRating(){
return this.rating;
}
public void setAge_rating_image(String age_rating_image){
this.age_rating_image = age_rating_image;
}
public String getAge_rating_image(){
return this.age_rating_image;
}
public void setAge_advisory(String age_advisory){
this.age_advisory = age_advisory;
}
public String getAge_advisory(){
return this.age_advisory;
}
}

==================================
package ;
public class Medium
{
private String film_image;

private int width;

private int height;

public void setFilm_image(String film_image){
this.film_image = film_image;
}
public String getFilm_image(){
return this.film_image;
}
public void setWidth(int width){
this.width = width;
}
public int getWidth(){
return this.width;
}
public void setHeight(int height){
this.height = height;
}
public int getHeight(){
return this.height;
}
}

==================================
package ;
public class 1
{
private String image_orientation;

private String region;

private Medium medium;

public void setImage_orientation(String image_orientation){
this.image_orientation = image_orientation;
}
public String getImage_orientation(){
return this.image_orientation;
}
public void setRegion(String region){
this.region = region;
}
public String getRegion(){
return this.region;
}
public void setMedium(Medium medium){
this.medium = medium;
}
public Medium getMedium(){
return this.medium;
}
}

==================================
package ;
public class Poster
{
private 1 1;

public void set1(1 1){
this.1 = 1;
}
public 1 get1(){
return this.1;
}
}

==================================
package ;
public class Images
{
private Poster poster;

public void setPoster(Poster poster){
this.poster = poster;
}
public Poster getPoster(){
return this.poster;
}
}

==================================
package ;
import java.util.ArrayList;
import java.util.List;
public class Films
{
private int film_id;

private int imdb_id;

private String film_name;

private List<Release_dates> release_dates;

private List<Age_rating> age_rating;

private String film_trailer;

private String synopsis_long;

private Images images;

public void setFilm_id(int film_id){
this.film_id = film_id;
}
public int getFilm_id(){
return this.film_id;
}
public void setImdb_id(int imdb_id){
this.imdb_id = imdb_id;
}
public int getImdb_id(){
return this.imdb_id;
}
public void setFilm_name(String film_name){
this.film_name = film_name;
}
public String getFilm_name(){
return this.film_name;
}
public void setRelease_dates(List<Release_dates> release_dates){
this.release_dates = release_dates;
}
public List<Release_dates> getRelease_dates(){
return this.release_dates;
}
public void setAge_rating(List<Age_rating> age_rating){
this.age_rating = age_rating;
}
public List<Age_rating> getAge_rating(){
return this.age_rating;
}
public void setFilm_trailer(String film_trailer){
this.film_trailer = film_trailer;
}
public String getFilm_trailer(){
return this.film_trailer;
}
public void setSynopsis_long(String synopsis_long){
this.synopsis_long = synopsis_long;
}
public String getSynopsis_long(){
return this.synopsis_long;
}
public void setImages(Images images){
this.images = images;
}
public Images getImages(){
return this.images;
}
}

==================================
package ;
public class Status
{
private int count;

private String state;

private String method;

private String message;

private String request_method;

private String version;

private String territory;

private String device_datetime_sent;

private DateTime device_datetime_used;

public void setCount(int count){
this.count = count;
}
public int getCount(){
return this.count;
}
public void setState(String state){
this.state = state;
}
public String getState(){
return this.state;
}
public void setMethod(String method){
this.method = method;
}
public String getMethod(){
return this.method;
}
public void setMessage(String message){
this.message = message;
}
public String getMessage(){
return this.message;
}
public void setRequest_method(String request_method){
this.request_method = request_method;
}
public String getRequest_method(){
return this.request_method;
}
public void setVersion(String version){
this.version = version;
}
public String getVersion(){
return this.version;
}
public void setTerritory(String territory){
this.territory = territory;
}
public String getTerritory(){
return this.territory;
}
public void setDevice_datetime_sent(String device_datetime_sent){
this.device_datetime_sent = device_datetime_sent;
}
public String getDevice_datetime_sent(){
return this.device_datetime_sent;
}
public void setDevice_datetime_used(DateTime device_datetime_used){
this.device_datetime_used = device_datetime_used;
}
public DateTime getDevice_datetime_used(){
return this.device_datetime_used;
}
}

==================================
package ;
import java.util.ArrayList;
import java.util.List;
public class Root
{
private List<Films> films;

private Status status;

public void setFilms(List<Films> films){
this.films = films;
}
public List<Films> getFilms(){
return this.films;
}
public void setStatus(Status status){
this.status = status;
}
public Status getStatus(){
return this.status;
}
}

关于java.lang.IllegalStateException : Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 7770 path $. 电影[8].images.poster,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62108176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com