Ontem estava bem cansado então não pude estudar mais nem debugar e ir vendo a coisa acontecer.. mas hoje farei isso...
pode deixar que se aparecer alguma dúvida vou postar :D
abs
--
Atenciosamente,
Luís Gustavo Verri Zacheu
luiszacheu@gmail.com
Em 24 de fevereiro de 2012 10:54, Toshi Kurauchi <andrew.kurauchi@gmail.com> escreveu:
Que bom :)Mas, como o Lúcio falou, o importante é você entender a estrutura do JSON. Isso ficando claro facilita depois a utilização de qualquer ferramenta pra parsear ou gerar uma string de JSON... qualquer problema posta ai!
Toshi Kurauchi
2012/2/24 Luis Gustavo Verri Zacheu <luiszacheu@gmail.com>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..rsrsBom 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.315558double y = posicao.getDouble("y"); // -51.157537Bom.. 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
http://www.linkedin.com/in/luiszacheu
+55 (43) 9920-9645
+55 (43) 9920-9645






0 comentários:
Postar um comentário