Eu faço da seguinte forma:
do lado server, eu converto uma lista de objetos com
retornoServidor = gson.toJson(List<Object>);
Já do lado android eu leio dessa forma (pacote org.json.JSONArray):
//converte o retorno em Array de JSonAté agora nunca tive problema! espero que ajude!
JSONArray arr = new JSONArray(retornoServidor);
//Converte o JSon em uma lista de Objetos
for (int i = 0; i < arr.length(); i++) {
JSONObject obj = arrAgenda.getJSONObject(i);
//agora pega todos os atributos que vem do json e passa pra o construtor da classe
Object o = new Object(obj.getInt("id"), obj.getStrign("nome"));
Olá Cristian. Eu usava um tempo com collectionType meu cast para objetos da classe. Depois de um tempo passou a dar problema e resolvi usar JSONReader. Claro, miinha classe Pedido tem um construtor publico.
Segue exemplo de código:
try {
JsonReader reader = new JsonReader(new InputStreamReader(is, "UTF-8"));
reader.beginArray();
while (reader.hasNext()){
PedidoObj objPed = new Gson().fromJson(reader,PedidoObj.class);
objPed.dt_ult_atu*=1000;
objPed.data_digitacao*=1000;
// dbPed.Insert(objPed); Classe dbPED que insere no banco
novos++;
}
reader.endArray();
reader.close();
} catch (Exception e) {
Log.e("Error: ", "MSG: "+e.getMessage());
} finally {
dbPed.endTrans();
}2012/7/3 Buiu <buiucardoso@gmail.com>
pior que não resolveu....Em 3 de julho de 2012 23:16, luciofm <luciofm@gmail.com> escreveu:falta um construtor public sem parametrospublic WebServiceRetornoGeral() {}
Lúcio Maciel
luciofm@gmail.com
2012/7/3 Cristian Cardoso <buiucardoso@gmail.com>Boa noite pessoal!
Novamente aqui para pedir ajuda...
Estou consumindo um WebService que tem como resposta:
{"resultado":1,"msg":"ok","msgerro":"aaaa"}
Estou usando a biblioteca Gson para transformar este json em um objeto, funciona perfeito enquanto estou em modo debug, quando faço o export do meu aplicativo e instalo, ele não da erro, simplesmente so não popula a classe assim como fazia em debug. Como se o retorno do webservice fosse em branco. Dei os prints do retorno do webservice para certificar que esta retornando certo e esta 100% como o esperado...
Alguém já usou esta biblioteca Gson? Alguém teria alguma dica de onde estou errando?
public class WebServiceRetornoGeral {
public int resultado;
public String msgerro;
public String msg;
}
----------
Type collectionType = new TypeToken<WebServiceRetornoGeral>() {}.getType();
Gson gson = new Gson();
String response = "{\"resultado\":1,\"msg\":\"ok\",\"msgerro\":\"aaaa\"}";
WebServiceRetornoGeral retorno = gson.fromJson(response, collectionType); /// tentei tbm colocar apenas WebServiceRetornoGeral.class mas tbm não rolou
if (retorno.resultado == 1) {
////
}else{
////
}
--
Abraço
Cristian Cardoso
@CTNCardoso
http://ctncardoso.com.br






0 comentários:
Postar um comentário