2017-06-10 1 views
0

MY Pojo Klasse

package com.webnoo.questin.controllers.networks.pojo; 

import java.util.List; 
import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 

public class Profile { 

    @SerializedName("uid") 
    @Expose 
    private String uid; 
    @SerializedName("name") 
    @Expose 
    private String name; 
    @SerializedName("theme") 
    @Expose 
    private String theme; 
    @SerializedName("signature") 
    @Expose 
    private String signature; 
    @SerializedName("signature_format") 
    @Expose 
    private String signature_format; 
    @SerializedName("created") 
    @Expose 
    private String created; 
    @SerializedName("access") 
    @Expose 
    private String access; 
    @SerializedName("login") 
    @Expose 
    private String login; 
    @SerializedName("status") 
    @Expose 
    private String status; 
    @SerializedName("timezone") 
    @Expose 
    private String timezone; 
    @SerializedName("language") 
    @Expose 
    private String language; 
    @SerializedName("picture") 
    @Expose 
    private Picture picture; 
    @SerializedName("data") 
    @Expose 
    private Data data; 
    @SerializedName("uuid") 
    @Expose 
    private String uuid; 
    @SerializedName("roles") 
    @Expose 
    private Roles roles; 
    @SerializedName("og_user_node") 
    @Expose 
    private Og_user_node og_user_node; 
    @SerializedName("field_first_name") 
    @Expose 
    private Field_first_name field_first_name; 
    @SerializedName("field_last_name") 
    @Expose 
    private Field_last_name field_last_name; 
    @SerializedName("field_education") 
    @Expose 
    private Field_education field_education; 
    @SerializedName("field_user_experience") 
    @Expose 
    private Field_user_experience field_user_experience; 
    @SerializedName("field_projects") 
    @Expose 
    private Field_projects field_projects; 
    @SerializedName("field_merits_awards") 
    @Expose 
    private Field_merits_awards field_merits_awards; 
    @SerializedName("field_publications") 
    @Expose 
    private Field_publications field_publications; 
    @SerializedName("field_volunteering") 
    @Expose 
    private Field_volunteering field_volunteering; 
    @SerializedName("field_personal_information") 
    @Expose 
    private Field_personal_information field_personal_information; 
    @SerializedName("field_additional_skills") 
    @Expose 
    private Field_additional_skills field_additional_skills; 
    @SerializedName("field_company_description") 
    @Expose 
    private List<Object> field_company_description = null; 
    @SerializedName("field_i_am_a") 
    @Expose 
    private Field_i_am_a field_i_am_a; 
    @SerializedName("field_groups_logo") 
    @Expose 
    private List<Object> field_groups_logo = null; 
    @SerializedName("field_user_avatar") 
    @Expose 
    private Field_user_avatar field_user_avatar; 
    @SerializedName("metatags") 
    @Expose 
    private Metatags metatags; 
    @SerializedName("rdf_mapping") 
    @Expose 
    private Rdf_mapping rdf_mapping; 
    @SerializedName("comment_notify_settings") 
    @Expose 
    private Comment_notify_settings comment_notify_settings; 
    @SerializedName("realname") 
    @Expose 
    private String realname; 
    @SerializedName("foo") 
    @Expose 
    private String foo; 

    public String getUid() { 
     return uid; 
    } 

    public void setUid(String uid) { 
     this.uid = uid; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getTheme() { 
     return theme; 
    } 

    public void setTheme(String theme) { 
     this.theme = theme; 
    } 

    public String getSignature() { 
     return signature; 
    } 

    public void setSignature(String signature) { 
     this.signature = signature; 
    } 

    public String getSignature_format() { 
     return signature_format; 
    } 

    public void setSignature_format(String signature_format) { 
     this.signature_format = signature_format; 
    } 

    public String getCreated() { 
     return created; 
    } 

    public void setCreated(String created) { 
     this.created = created; 
    } 

    public String getAccess() { 
     return access; 
    } 

    public void setAccess(String access) { 
     this.access = access; 
    } 

    public String getLogin() { 
     return login; 
    } 

    public void setLogin(String login) { 
     this.login = login; 
    } 

    public String getStatus() { 
     return status; 
    } 

    public void setStatus(String status) { 
     this.status = status; 
    } 

    public String getTimezone() { 
     return timezone; 
    } 

    public void setTimezone(String timezone) { 
     this.timezone = timezone; 
    } 

    public String getLanguage() { 
     return language; 
    } 

    public void setLanguage(String language) { 
     this.language = language; 
    } 

    public Picture getPicture() { 
     return picture; 
    } 

    public void setPicture(Picture picture) { 
     this.picture = picture; 
    } 

    public Data getData() { 
     return data; 
    } 

    public void setData(Data data) { 
     this.data = data; 
    } 

    public String getUuid() { 
     return uuid; 
    } 

    public void setUuid(String uuid) { 
     this.uuid = uuid; 
    } 

    public Roles getRoles() { 
     return roles; 
    } 

    public void setRoles(Roles roles) { 
     this.roles = roles; 
    } 

    public Og_user_node getOg_user_node() { 
     return og_user_node; 
    } 

    public void setOg_user_node(Og_user_node og_user_node) { 
     this.og_user_node = og_user_node; 
    } 

    public Field_first_name getField_first_name() { 
     return field_first_name; 
    } 

    public void setField_first_name(Field_first_name field_first_name) { 
     this.field_first_name = field_first_name; 
    } 

    public Field_last_name getField_last_name() { 
     return field_last_name; 
    } 

    public void setField_last_name(Field_last_name field_last_name) { 
     this.field_last_name = field_last_name; 
    } 

    public Field_education getField_education() { 
     return field_education; 
    } 

    public void setField_education(Field_education field_education) { 
     this.field_education = field_education; 
    } 

    public Field_user_experience getField_user_experience() { 
     return field_user_experience; 
    } 

    public void setField_user_experience(Field_user_experience field_user_experience) { 
     this.field_user_experience = field_user_experience; 
    } 

    public Field_projects getField_projects() { 
     return field_projects; 
    } 

    public void setField_projects(Field_projects field_projects) { 
     this.field_projects = field_projects; 
    } 

    public Field_merits_awards getField_merits_awards() { 
     return field_merits_awards; 
    } 

    public void setField_merits_awards(Field_merits_awards field_merits_awards) { 
     this.field_merits_awards = field_merits_awards; 
    } 

    public Field_publications getField_publications() { 
     return field_publications; 
    } 

    public void setField_publications(Field_publications field_publications) { 
     this.field_publications = field_publications; 
    } 

    public Field_volunteering getField_volunteering() { 
     return field_volunteering; 
    } 

    public void setField_volunteering(Field_volunteering field_volunteering) { 
     this.field_volunteering = field_volunteering; 
    } 

    public Field_personal_information getField_personal_information() { 
     return field_personal_information; 
    } 

    public void setField_personal_information(Field_personal_information field_personal_information) { 
     this.field_personal_information = field_personal_information; 
    } 

    public Field_additional_skills getField_additional_skills() { 
     return field_additional_skills; 
    } 

    public void setField_additional_skills(Field_additional_skills field_additional_skills) { 
     this.field_additional_skills = field_additional_skills; 
    } 

    public List<Object> getField_company_description() { 
     return field_company_description; 
    } 

    public void setField_company_description(List<Object> field_company_description) { 
     this.field_company_description = field_company_description; 
    } 

    public Field_i_am_a getField_i_am_a() { 
     return field_i_am_a; 
    } 

    public void setField_i_am_a(Field_i_am_a field_i_am_a) { 
     this.field_i_am_a = field_i_am_a; 
    } 

    public List<Object> getField_groups_logo() { 
     return field_groups_logo; 
    } 

    public void setField_groups_logo(List<Object> field_groups_logo) { 
     this.field_groups_logo = field_groups_logo; 
    } 

    public Field_user_avatar getField_user_avatar() { 
     return field_user_avatar; 
    } 

    public void setField_user_avatar(Field_user_avatar field_user_avatar) { 
     this.field_user_avatar = field_user_avatar; 
    } 

    public Metatags getMetatags() { 
     return metatags; 
    } 

    public void setMetatags(Metatags metatags) { 
     this.metatags = metatags; 
    } 

    public Rdf_mapping getRdf_mapping() { 
     return rdf_mapping; 
    } 

    public void setRdf_mapping(Rdf_mapping rdf_mapping) { 
     this.rdf_mapping = rdf_mapping; 
    } 

    public Comment_notify_settings getComment_notify_settings() { 
     return comment_notify_settings; 
    } 

    public void setComment_notify_settings(Comment_notify_settings comment_notify_settings) { 
     this.comment_notify_settings = comment_notify_settings; 
    } 

    public String getRealname() { 
     return realname; 
    } 

    public void setRealname(String realname) { 
     this.realname = realname; 
    } 

    public String getFoo() { 
     return foo; 
    } 

    public void setFoo(String foo) { 
     this.foo = foo; 
    } 

} 

Benutzerknoten Klasse, die folgenden Fehler geben : Erwartete BEGIN_OBJECT aber war in Zeile 1 Spalte 1114 Pfade $ .og_user_node

Mein API-Aufruf BEGIN_ARRAY:

public void getProfile(){ 

     Log.v("checkResponseProfile","check please"); 
    OkHttpClient httpClient = new OkHttpClient.Builder().addInterceptor(new Interceptor() { 
      @Override 
      public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException { 
       Request original = chain.request(); 

       // Request customization: add request headers 
       Request.Builder requestBuilder = original.newBuilder() .addHeader("Accept-Language","application/json") 
         .addHeader("content-type", "application/x-www-form-urlencoded").addHeader("API_KEY", "a5XSE8XCdsY6hAoCNojYBQ") 
         .addHeader("X-CSRF-Token", Constants.token) 
         ; 

       Request request = requestBuilder.build(); 
       return chain.proceed(request); 
      } 
     }).build(); 



     Retrofit retrofit = new Retrofit.Builder() 
       .baseUrl(Constants.API_BASE_URL) 
       .client(httpClient) 

       .addConverterFactory(GsonConverterFactory.create()) 
       .build(); 
     ApiInterface restAPI = retrofit.create(ApiInterface.class); 

     Call<Profile> callProfile = restAPI.getProfile(1015); 
     callProfile.enqueue(new Callback<Profile>() { 
      @Override 
      public void onResponse(Call<Profile> call, Response<Profile> response) { 
       Log.v("checkResponseProfile",response.body().toString()+"code"+response.code()); 
      } 

      @Override 
      public void onFailure(Call<Profile> call, Throwable t) { 
       Log.v("checkResponseProfile","check here"); 
       t.printStackTrace(); 
      } 
     }); 

    } 

MY Schnittstelle Endpunkt Methode: @ abrufen ("{uid}") Anruf GetProfile (@Path ("uid") int uid);

dies ist meine API-Struktur wie in Dienst doc Benutzer erwähnten Zweck Abrufen: - Benutzer Abrufen von id Ruhe URL: - /api/v1/people/{uid} Methode: GET Header: Accept-Language: Anwendung/json API_KEY: a5XSE8XCdsY6hAoCNojYBQ Content-Type: application/x-www-form-urlencoded x-CSRF-Token:

Antwort

0

ändern alle aufrufen, Rückruf und Antwort

Call<Profile> 

zu

Call<List<Profile>> 

und

Callback<Profile> 

zu

Callback<List<Profile>> 

und

Response<Flowers> 

zu

Response<List<Flowers>> 
0

Ihr API-Aufruf gibt ein JSON-Array zurück, aber Ihre Retrofit-Methode erwartet ein einzelnes Profilobjekt, was bedeutet, dass Sie versuchen, ein JSON-Array als JSON-Objekt zu analysieren.

Sie können dies auf zwei Arten beheben.

  • Wenn Sie Autorität über die api haben, machen es anstelle eines json Array
  • Besser noch ein Json-Objekt zurück, Ihre Methode Dekoration ändern, um eine Liste und innerhalb der Rückruf zurück nur das erste Element abzurufen. Siehe unten

Call<List<Profile>> callProfile = restAPI.getProfile(1015); 
 
     callProfile.enqueue(new Callback<List<Profile>>() { 
 
      @Override 
 
      public void onResponse(Call<List<Profile>> call, Response<List<Profile>> response) { 
 
    
 
    //TODO use first entry of response 
 
     Log.v("checkResponseProfile",response.body().toString()+"code"+response.code()); 
 
      } 
 

 
      @Override 
 
      public void onFailure(Call<List<Profile>> call, Throwable t) { 
 
       Log.v("checkResponseProfile","check here"); 
 
       t.printStackTrace(); 
 
      } 
 
     });

Hoffnung, die

+0

ich helfen versucht, folgende – Naman

+0

Ich versuchte Ihren Vorschlag geändert den Rückgabetyp ftom einzelnes Objekt, um Objektliste aber folgenden Fehler: Erwartete BEGIN_OBJECT aber war BEGIN_ARRAY bei Zeile 1 Spalte 1114 Pfad $ .og_user_node – Naman

+0

sry der Fehler ist ... Erwartete BEGIN_ARRAY aber war BEGIN_OBJECT bei Zeile 1 Spalte 2 Pfad $ nach der chnaging-Deklaration und Aufruf von Listentyp – Naman

0

hilft ich das Problem endlich gelöst haben, das Problem mit meinem pojo Klasse, die ich erzeugt habe, die ich verwende für Parsing, Ich nehme og_user_node als einzelnes Objekt, aber es ist Listen-Typ von Objekt des Typs (Og_user_node) geändert Typ von og_user_node von Og_user_node zu Liste und dann ähnlich korrigiert die ganze pojo als pe r die Antwort. ich Werkzeug Zunächst bin mit meiner pojo Klassen zu erzeugen, aber glauben Sie mir, dass Werkzeug nicht gut für den Fall ist die Antwort groß ist ,, es nicht die richtigen Klassen

Anyways Danke Jungs für Ihre Antwort nicht geben und

Verwandte Themen