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 !
JSONObjectjsonResultado=newJSONObject();jsonResultado.put("error","[400] Poxa, que triste... Não conseguimos realizar a operação. Tente novamente");JSONArrayjsonArray=newJSONArray();jsonArray.put(jsonResultado);JSONObjectresultadoFinal=newJSONObject();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:
JSONObjectobjJson=newJSONObject("{\"MeuJson\":[{\"token\":\"[400] Poxa, que triste... Não conseguimos realizar a operação. Tente novamente\"}]}");JSONArrayresultado=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
Se não, pode seguir a dica do Lucas!!
C
Solucao aceita
carcleo1 like
Deu certo assim:
token.has("erro")
do teu jeito:
if(token.isNull("erro")){
travou tudo!
Mas obrigado por tentar
C
carcleo
Vou dar uma olhada com calma nessa tua forma pois gostei.
Como ainda estou aprendendo, vai ser ótimo!
Me esbarrei em uma situação aqui:
Para que a conexão com a internet funcione, está sendo necessário esse bloco dento do main: