Je l'ai fait l'analyseur JSON de manière plus simple, ici il est
package com.inzane.shoapp.activity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.Log;
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
// constructor
public JSONParser() {
}
public JSONObject getJSONFromUrl(String url) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
System.out.println(line);
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
System.out.println("error on parse data in jsonparser.java");
}
// return JSON String
return jObj;
}
}
cette classe renvoie l'objet JSON de l'url
et quand vous voulez l'objet JSON vous appelez simplement cette classe et la méthode dans votre classe d'activité
mon code est ici
String url = "your url";
JSONParser jsonParser = new JSONParser();
JSONObject object = jsonParser.getJSONFromUrl(url);
String content=object.getString("json key");
ici la « clé JSON » est noté que la clé dans votre fichier JSON
c'est un simple exemple de fichier JSON
{
"json":"hi"
}
Ici « JSON » est la clé et « salut » est la valeur
Cela obtiendra votre valeur json au contenu de chaîne.
La gestion des exceptions est requis car Java vous oblige à gérer les exceptions qui sont déclarées. Quel est le problème avec la gestion des exceptions? – Falmarri
bien, le "java force vous" est le plus gros problème –
Si java ne vous forçait pas à gérer les exceptions, pensez-vous que les programmes fonctionneraient toujours bien? Et si on me demandait d'entrer mon âge dans un programme et que je donnais snarfleblagger comme contribution? Java devrait-il permettre au programme de s'exécuter sans problèmes? Si vous ne voulez pas gérer les exceptions, déclarez-les comme étant lancées par les méthodes dans lesquelles elles peuvent apparaître et regardez votre programme échouer lorsque quelque chose ne va pas parfaitement. –