this.token() é uma string do tipo {“erro” : “Valor do erro”}
Mas também, em caso de sucesso pode ser: do tipo {“token” : “Valor do token”}
Meu objetivo com o código abaixo e descobrir se o primeiro índice desse JSONObjeto a ser criado será " erro " ou " token " e estou tentando assim mas parece que está testando se o valor para o índice “erro” é nulo e não se o próprio índiceerro existe ou não que é o meu objeto !
JSONObject token = new JSONObject(this.token());
if (token.get("erro").equals(null))
this.resposta.setText(token.getString("token"));
else
this.resposta.setText(token.getString("erro"));
```
Onde estou errando?
JSONObject jsonResultado = new JSONObject();
jsonResultado.put("error", "[400] Poxa, que triste... Não conseguimos realizar a operação. Tente novamente");
JSONArray jsonArray = new JSONArray();
jsonArray.put(jsonResultado);
JSONObject resultadoFinal = new JSONObject();
resultadoFinal.put("MeuJson", jsonArray);
O resultado será esse:
{"MeuJson":[{"error":"[400] Poxa, que triste... Não conseguimos realizar a operação. Tente novamente"}]}
E você irá fazer a leitura assim:
JSONObject objJson = new JSONObject("{\"MeuJson\":[{\"token\":\"[400] Poxa, que triste... Não conseguimos realizar a operação. Tente novamente\"}]}");
JSONArray resultado = objJson.getJSONArray("MeuJson");
System.out.println(resultado.get(0));
if(resultado.get(0).toString().contains("token")){
System.out.println("sucesso");
} else {
System.out.println("erro");
}
O resultado será esse:
{"token":"[400] Poxa, que triste... Não conseguimos realizar a operação. Tente novamente"}
sucesso