Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] cannot be converted to JSONArray

Use o GSON como o Henrique disse, faço o uso dele aqui:


Tomando como exemplo o teu retorno JSON, Crie uma classe Retorno com os campos:

public class Retorno {
    public String nome;
    public String versao;
    public String teste;
}

Depois crie uma classe auxiliar que irá receber e controlar todo o seu JSON, exemplo:

public class JSONDados {
    public Retorno retorno;
}

No método onde você recebe a String JSON utilize a classe JSON:

JSONDados dados = new Gson().fromJson(seu_json_aqui, JSONDados.class);

O GSON irá converter o JSON para o objeto "retorno" do objeto dados, ai só acessar as propriedades:

Ex.: dados.retorno.nome;




Em 3 de julho de 2013 22:44, Henrique Melo <henrique1985@gmail.com> escreveu:

Tenta usar o gson.

Em 03/07/2013 20:26, "Jonas Alves" <jonasfa@gmail.com> escreveu:

O JSON gerado está correto, afinal seu objeto não é um array. (apesar de o PHP chamar isso de array, não é um array)


2013/7/3 Vinny Valente <irmaocaradepau@gmail.com>
Galera,

To com um erro na hora de converter o retorno do webservice para um array JSON.
Ja tentei de varias formas e a unica forma q funcionou é essa gambiarra... 
String teste = "[" + object.toString() +"]";
JSONArray message = (JSONArray)new JSONTokener(teste).nextValue();

Não sei se tem outra forma, mas todas que eu achei na net com exemplos e tudo mais no PHP são feitos assim e acabam me 
retornando sem os Colchetes... 
Alguem ai sabe outra forma ou onde esta meu erro?



WebService PHP
<?php
$arrayRetorno = array("nome" => "Vinny", "versao"=>"1.0", "teste"=>"webservice");
$json["retorno"] = $arrayRetorno;
echo json_encode($json));
?> 

Saida na Web
      {"retorno":{"nome":"Vinny","versao":"1.0","teste":"webservice"}} 

JAVA
JSONObject object = (JSONObject) new JSONTokener(resultado).nextValue();

Linha do erro   
JSONArray message = object.getJSONArray("retorno");

Exception
org.json.JSONException: Value {"teste":"webservice","nome":"Vinny","versao":"1.0"} at retorno of type org.json.JSONObject cannot be converted to JSONArray


--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Analista-Programador

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário