Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Trabalhando com json.

Toshi, muito obrigado deu certo a ajuda que vc me deu implementei ontem...


Em 23 de fevereiro de 2012 08:53, luciofm <luciofm@gmail.com> escreveu:
O importante é você entender o JSON, como ele funciona, tipos de dados, etc...

Lúcio Maciel
luciofm@gmail.com



2012/2/23 Luis Gustavo Verri Zacheu <luiszacheu@gmail.com>
Toshi, foi erro de digitação mesmo...
Então entendi, o que vc fez, eu tava meio perdido mesmo..rsrs
Bom vou tentar hoje fazer dessa forma que você colocou aqui, dai respondo se deu certo ou não, obrigado pela ajuda...


Em 23 de fevereiro de 2012 00:23, Toshi Kurauchi <andrew.kurauchi@gmail.com> escreveu:

Oi Luis,

Esse json de exemplo você fez na mão? É que está faltando um } no final... se não o problema pode estar no webservice.. se foi só erro de digitação desencana :)

Por que você está fazendo jObject = new JSONObject(data.toString())?
A string inicial é um JSONArray já, não é? Talvez a linha de cima esteja dando exceção...
Acho que você poderia tentar algo como:

JSONArray array = new JSONArray(data.toString());               // [{"posicao": {"x": -23.315558, "y": -51.157537}}]
JSONObject object = array.getJSONObject(0);                       // {"posicao": {"x": -23.315558, "y": -51.157537}}
JSONObject posicao = object.getJSONObject("posicao");       // {"x": -23.315558, "y": -51.157537}
double x = posicao.getDouble("x");                                        // -23.315558
double y = posicao.getDouble("y");                                        // -51.157537

Bom.. não tentei rodar isso, mas é assim que eu tentaria :)
Ou então você pode usar o Gson ou alguma outra biblioteca também..

Toshi Kurauchi



2012/2/22 luiszacheu <luiszacheu@gmail.com>
Olá amigos estou com uma grande dificuldade em pegar dados de um
determinado json.
Bom o json que está retornado é mais ou menos assim :

[{"posicao": {"x": -23.315558, "y": -51.157537}]

o código no qual estou trabalhando é o seguinte:

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;

import br.com.app.R;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class GetJson extends Activity {

       private JSONObject jObject;
       final static String jString = "http://link_do_json";
       TextView httpStuff;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.main);
               httpStuff = (TextView) findViewById(R.id.tvHttp);
               try{
                       parse();
               }catch (Exception e) {
                       e.printStackTrace();
               }
       }

       private void parse() throws Exception {
               StringBuilder url = new StringBuilder(jString);
               HttpClient client = new DefaultHttpClient();
               HttpGet httpGet = new HttpGet(url.toString());
               HttpResponse r = client.execute(httpGet);
               HttpEntity e = r.getEntity();
               String data = EntityUtils.toString(e);

               jObject = new JSONObject(data.toString());
               JSONArray jArray = new JSONArray(data.toString());
               //JSONArray jArray = new JSONArray(jObject);

               //JSONObject posicaoObject = jObject.getJSONObject("posicao");



       //      httpStuff.setText(posicao.getJSONObject(0).toString());


       }


}

Será que alguém poderia me dar uma força, bom esse json é uma parte do
contexto todo, porem se eu conseguir pegar esse item o restante fica
tranquilo...até consegui pegar o conteúdo desse array, porem usando um
outro código, mas queria pegar esse array e quebra lo para pegar o
valor do x ou do y ou ambos.


Obrigado!




--
Atenciosamente,
Luís Gustavo Verri Zacheu
luiszacheu@gmail.com




--
Atenciosamente,
Luís Gustavo Verri Zacheu
luiszacheu@gmail.com

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

0 comentários:

Postar um comentário