J'ai donc essayé de modifié le code de cette manière : (mais rien ne s'affiche, par contre l'application ne plante pas)
/ url to make request
private static String url = "http://api.androidhive.info/contacts/";
// JSON Node names
private static final String TAG_expirationDate = "expirationDate";
private static final String TAG_line = "line";
private static final String TAG_color = "color";
private static final String TAG_id = "id";
private static final String TAG_name = "name";
private static final String TAG_shortName = "shortName";
private static final String TAG_network = "network";
private static final String TAG_transportMode = "transportMode";
private static final String TAG_id_transportMode = "id_transportMode";
private static final String TAG_article = "article";
private static final String TAG_name_transportMode = "name_transportMode";
// contacts JSONArray
JSONArray line = null;
String expirationDate = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Hashmap for ListView
ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
expirationDate = json.getString(TAG_expirationDate);
// Getting Array of Contacts
line = json.getJSONArray(TAG_line);
// looping through All Contacts
for(int i = 0; i < line.length(); i++){
JSONObject l = line.getJSONObject(i);
// Storing each json item in variable
String color = l.getString(TAG_color);
String id = l.getString(TAG_id);
String name = l.getString(TAG_name);
String shortName = l.getString(TAG_shortName);
String network = l.getString(TAG_network);
// Phone number is agin JSON Object
JSONObject transportMode = l.getJSONObject(TAG_transportMode);
String id_transportMode = transportMode.getString(TAG_id_transportMode);
String article = transportMode.getString(TAG_article);
String name_transportMode = transportMode.getString(TAG_name_transportMode);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_name, name);
map.put(TAG_shortName, shortName);
map.put(TAG_network, network);
map.put(TAG_name_transportMode, name_transportMode);
// adding HashList to ArrayList
contactList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
Quelqu'un aurait une idée du problème ?
[Android] Parsing JSON
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.