У меня есть приложение для Android, это приложение может обращаться к веб-службам, откликом через JSON и отправлять объект. Я хочу использовать библиотеку Gson для преобразования ответа в Object. Поэтому у меня есть этот метод, но он не работает.Как разобрать ответ с помощью Gson
private static Impresa getDatiImpresa(String url) throws
IOException, MalformedURLException, JSONException
{
String result = "";
Gson gson = new Gson();
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit
HttpResponse response;
try {
HttpPost post = new HttpPost(url);
response = client.execute(post);
/*Checking response */
if(response!=null){
InputStream source = response.getEntity().getContent(); //Get the data in the entity
Reader reader = new InputStreamReader(source);
Impresa impresa = gson.fromJson(reader, Impresa.class);
return impresa;
}
} catch(Exception e) {
e.printStackTrace();
//createDialog("Error", "Cannot Estabilish Connection");
}
return null;
}
public class Impresa {
@SerializedName("pivaImpresa")
public String partitaIVA;
@SerializedName("ragioneSociale")
public String ragioneSociale;
@SerializedName("centriAziendali")
public List<CentroAziendale> listaCentroAziendale;
public String getPartitaIVA() {
return partitaIVA;
}
public void setPartitaIVA(String partitaIVA) {
this.partitaIVA = partitaIVA;
}
public String getRagioneSociale() {
return ragioneSociale;
}
public void setRagioneSociale(String ragioneSociale) {
this.ragioneSociale = ragioneSociale;
}
public List<CentroAziendale> getListaCentroAziendale() {
return listaCentroAziendale;
}
public void setListaCentroAziendale(List<CentroAziendale> listaCentroAziendale) {
this.listaCentroAziendale = listaCentroAziendale;
}
}
Этот метод возвращает null каждый раз.
У меня есть этот код, чтобы прочитать ответ веб-сервисов. Это код:
StringBuilder sb = new StringBuilder();
BufferedReader r = new BufferedReader(new InputStreamReader(new DoneHandlerInputStream(source)));
for (String line = r.readLine(); line != null; line = r.readLine()){
sb.append(line);
}
это реакция веб-сервисов:
{"status":1,"message":"Ok","content":[{"pivaImpresa":"05050505055","ragioneSociale":"Azienda Giustina","centriAziendali":[{"pivaImpresa":"05050505055","codiceCentroAziendale":"C001"}]}]}
Как выглядит ваш Gson? Является ли 'impresa'' null'? Или его поля 'null'? Вы посмотрели на связанные вопросы справа? –
Объект «impresa» имеет значение null. И я пытаюсь запустить приложение в отладке, когда я выполняю код «.... gson.fromJson ... debug go on last row, return null; – bircastri