2016-03-06 7 views
1

Я пытаюсь разобрать json на POJO, используя модификацию, но продолжает получать ошибку. Кажется, что данные получены, и, насколько я вижу, из logcat я читаю и правильно разбирает json. Но он возвращает succes = false и не возвращает объект responsedata. Тип ошибки и сообщение об ошибке считывают значение null. Я понятия не имею, что не так, и был бы признателен за любые предложения относительно решений или как найти ошибку.синтаксический анализ json на POJO с использованием модификации

Json

{ 
    "competition_info": { 
    "headline": "competition", 
    "description": "description for competition.", 
    "accept_button": "OK", 
    "open_terms_button": "Open info" 
    }, 
    "terms": { 
    "html": "a website in html" 
    } 
    } 

MyPojo

public class AnnComResponses{ 
    @SerializedName("competition_info") 
    public CompetitionInfo competitionInfo; 
    @SerializedName("terms") 
    public Terms terms; 

    public class Terms{ 

     @SerializedName("html") 
     public String html; 

     public String getTerms() { 
      return html; 
     } 
    } 

    public class CompetitionInfo{ 
     @SerializedName("headline") 
     public String headline; 
     @SerializedName("description") 
     public String description; 
     @SerializedName("accept_button") 
     public String acceptButton; 
     @SerializedName("open_terms_button") 
     public String openTermsButton; 

     public String getHeadline() { 
      return headline; 
     } 

     public String getDescription() { 
      return description; 
     } 

     public String getAcceptButton() { 
      return acceptButton; 
     } 

     public String getOpenTermsButton() { 
      return openTermsButton; 
     } 

    } 
} 
+0

перейдите по этой ссылке, это должно помочь - http://stackoverflow.com/a/33720542/5123494 –

+0

Привет Владимир Я думаю, что мой вопрос был плохо выражен :-( I – MNielsen

ответ

1

Попробуйте использовать GSON преобразователь с модифицированной, как показано ниже:

RestAdapter restAdapter = new RestAdapter.Builder() 
       .setLogLevel(RestAdapter.LogLevel.FULL) 
       .setConverter(new GsonConverter(new GsonBuilder()).create())) 
       .setEndpoint("your api end point goes here") 
       .build(); 
YourAPI api = restAdapter.create(YourAPI.class); 
+0

Извините за позднюю реакцию и THX за вашу помощь :-) – MNielsen

0

Во-первых, у вас есть несколько классов внутри вашего основного класса. Разделите их на отдельные файлы и не держите их в одном классе. Во-вторых, в вашем основном классе вам нужно добавить сеттеры и геттеры для вашего конкурса propertiesInfo и условий. Кроме того, как хороший стиль, частные свойства и ваши геттеры и сеттеры остаются открытыми.