1
resposta

Ajudar pra ler Json (Gson).

Prezados, bom dia, estou precisando de uma ajuda, quero ler este json e passar para o objeto apenas o que esta entre os colchetes {"id" ate "bounce_description", como posso fazer isso ???? Estou usando o seguinte trecho que me retorna null em todos os atributos.

String requisicao = builder.get(String.class); // recebo a string com o json

JsonObject jObj = new JsonObject(); Emails email = new Gson().fromJson(requisicao, Emails.class); System.out.println(email);

meu retorno esta assim: Emails [id=null, api_message_id=null, sender=null, recipient=null, sent_at=null, subject=null, status=null, bounce_code=null, bounce_description=null]

{ "data":{ "messages":[ { "id":683104, "api_message_id":null, "sender":"laudos@laudos.com.br", "recipient":"laudos@uol.com.br", "sent_at":"2018-10-30T00:51:51.463-02:00", "subject":"Laudo - FULANA", "status":"Entregue", "bounce_code":null, "bounce_description":"" }, { "id":683105, "api_message_id":null, "sender":"laudos@laudos.com.br", "recipient":"backup_emails@laudos.com.br", "sent_at":"2018-10-30T00:51:51.465-02:00", "subject":"Laudo - BELTRANA", "status":"Entregue", "bounce_code":null, "bounce_description":"" } ] }, "links":{ "self":"https://api.smtplw.com.br/v1/messages?end_date=2018-10-30&page=1&per=3&start_date=2018-10-30&status=all", "next":"https://api.smtplw.com.br/v1/messages?end_date=2018-10-30&page=2&per=3&start_date=2018-10-30&status=all", "prev":null, "first":"https://api.smtplw.com.br/v1/messages?end_date=2018-10-30&page=1&per=3&start_date=2018-10-30&status=all", "last":"https://api.smtplw.com.br/v1/messages?end_date=2018-10-30&page=254&per=3&start_date=2018-10-30&status=all" } }

1 resposta

Fala Oscar, tudo bem?

Na sua classe Emails.java, anote com @Expose apenas os campos que você precisa fazer o parse de json para o objeto.

Para buscar os campos que você quer, ignorando os demais, use o código:

Gson gson = new GsonBuilder()
  .excludeFieldsWithoutExposeAnnotation()
  .create();
String jsonString = gson.fromJson(requisicao, Emails.class); 

Abraço!