Json probleme android
lukas6410
Messages postés
29
Statut
Membre
-
lukas6410 Messages postés 29 Statut Membre -
lukas6410 Messages postés 29 Statut Membre -
Bonjour,
j'ai ici un json d'une api que voici:
le problème c'est que je m'embrouille a recuperer les array et objet mon but est de recuprer la temperature en degres la ville est les condition(object text) voila mon code et mes erreures:
est voici le logcat:
merci de bien vouloir m'aider à m'y retrouver
j'ai ici un json d'une api que voici:
{
"location": {
"name": "Paris",
"region": "Ile-de-France",
"country": "France",
"lat": 48.87,
"lon": 2.33,
"tz_id": "Europe/Paris",
"localtime_epoch": 1617720813,
"localtime": "2021-04-06 16:53"
},
"current": {
"last_updated_epoch": 1617720300,
"last_updated": "2021-04-06 16:45",
"temp_c": 6.0,
"temp_f": 42.8,
"is_day": 1,
"condition": {
"text": "Light sleet",
"icon": "//cdn.weatherapi.com/weather/64x64/day/317.png",
"code": 1204
},
"wind_mph": 17.4,
"wind_kph": 28.1,
"wind_degree": 290,
"wind_dir": "WNW",
"pressure_mb": 1017.0,
"pressure_in": 30.5,
"precip_mm": 1.0,
"precip_in": 0.04,
"humidity": 49,
"cloud": 50,
"feelslike_c": 2.7,
"feelslike_f": 36.9,
"vis_km": 10.0,
"vis_miles": 6.0,
"uv": 2.0,
"gust_mph": 13.9,
"gust_kph": 22.3,
"air_quality": {
"co": 220.3000030517578,
"no2": 2.200000047683716,
"o3": 88.69999694824219,
"so2": 1.100000023841858,
"pm2_5": 1.2999999523162842,
"pm10": 1.600000023841858,
"us-epa-index": 1,
"gb-defra-index": 1
}
}
}
le problème c'est que je m'embrouille a recuperer les array et objet mon but est de recuprer la temperature en degres la ville est les condition(object text) voila mon code et mes erreures:
@Override
protected void onPostExecute(JSONObject jsonObject) {
super.onPostExecute(jsonObject);
try {
JSONArray current = jsonObject.getJSONArray("current");
JSONArray location = jsonObject.getJSONArray("location");
JSONArray condition = current.getJSONArray(0);
String string_condition = condition.getString(0);
String string_temperature = current.getString(2);
String string_ville = location.getString(0);
textToSpeech.speak("Actuellement à" + string_ville + "il fait " + string_temperature + "°" + "avec" + string_condition, TextToSpeech.QUEUE_ADD, null);
addMessageLayout("Actuellement à" + string_ville + "il fait " + string_temperature + "°" + "avec" + string_condition, 0, null);
} catch (JSONException e) {
e.printStackTrace();
}
}
est voici le logcat:
2021-04-06 20:43:06.400 5355-5355/com.example.learningbot W/System.err: org.json.JSONException: Value {"last_updated_epoch":1617733800,"last_updated":"2021-04-06 20:30","temp_c":5,"temp_f":41,"is_day":0,"condition":{"text":"Light snow","icon":"\/\/cdn.weatherapi.com\/weather\/64x64\/night\/326.png","code":1213},"wind_mph":13.6,"wind_kph":22,"wind_degree":330,"wind_dir":"NNW","pressure_mb":1017,"pressure_in":30.5,"precip_mm":0.3,"precip_in":0.01,"humidity":38,"cloud":62,"feelslike_c":0.9,"feelslike_f":33.6,"vis_km":10,"vis_miles":6,"uv":2,"gust_mph":16.6,"gust_kph":26.6} at current of type org.json.JSONObject cannot be converted to JSONArray
2021-04-06 20:43:06.401 5355-5355/com.example.learningbot W/System.err: at org.json.JSON.typeMismatch(JSON.java:100)
2021-04-06 20:43:06.401 5355-5355/
com.example.learningbot W/System.err: at org.json.JSONObject.getJSONArray(JSONObject.java:591)
merci de bien vouloir m'aider à m'y retrouver
A voir également:
- Json probleme android
- Android recovery - Guide
- Begone android - Accueil - Protection
- Presse papier android - Guide
- À quoi sert google drive sur android - Guide
- Jouer a pokemon sur android - Guide
1 réponse
Salut,
Le message d'erreur est explicite : tu essaies de "lire" un objet JSON sous forme de tableau.
Un tableau en JSON est un objet délimité par des crochets [...] qui contient une liste d'objets délimités par des accolades {}.
Ici,
Le message d'erreur est explicite : tu essaies de "lire" un objet JSON sous forme de tableau.
Un tableau en JSON est un objet délimité par des crochets [...] qui contient une liste d'objets délimités par des accolades {}.
Ici,
location, current, air_qualitysont des objects, tu n'as pas de tableau. Donc, il faut utiliser la méthode
getJSONObject().
lukas6410
Messages postés
29
Statut
Membre
4
Je vais essayer ça ,merci ça fesait longtemp que je n'avais pas traité du json je tacherai de m'en souvenir