Eu estou consumindo este json no android com a api Volley, e gostaria de saber como faço para recuperar apenas um valor especifico como o “endereco” ao invés de todo array?
Mas enfim, vc precisa criar um método que deserialize pra vc, ficaria mais ou menos assim:
public String deserialize(String content) {
Gson gson = new Gson();
//converte o retorno do web service em um JsonElement
JsonElement jsonElementRoot = gson.fromJson(content, JsonElement.class);
//converte o JsonElement em JsonObject
JsonObject root = jsonElementRoot.getAsJsonObject();
//joga o conteudo de "cliente" em um JsonObject
JsonObject client = root.getAsJsonObject("cliente");
//obtem o conteudo do campo endereco
String endereco = client.get("endereco").toString();
return endereco;
}
Só lembrando que estou usando abiblioteca Gson para fazer o parser.
Bom dia Levi, bem observado rsrs não é um array eu me equivoquei. Cara muito obrigado por responder, estou aprendendo muito com essa comunidade. Consegui fazer da seguinte forma, como ele já é um objeto eu pego da seguinte forma:
String valor = response.getString("cliente");
JSONObject obj = new JSONObject(valor);
String cpf = obj.getString("cpf");
Sting nome = obj.getString("nome");
Sting id = obj.getString("id");
Eu já tinha ouvido fala dessa biblioteca, GSON, qual seria a vantagem em utilizar ela?
Na verdade essa biblioteca faz exatamente o que nós fizemos, ela faz o parse pra gente.
A grosso modo, se vc quisesse uma lista de clientes a partir do retorno do web service, o código ficaria assim.
List<Cliente> lista = gson.fromJson(content, List.class);