Zuerst möchte ich alle Ratenwerte abrufen, die im Bewertungsnamen verschachtelt sind und davon ausgehen, dass ich nicht weiß, wie viele Bewertungen es gibt, also sollte es eine Art Schleife geben überprüfe sie. Das Json-Objekt wird unten gezeigt.ANDROID JSON Abrufen mehrerer Werte aus einem verschachtelten Schlüssel
{
"restaurant": [
{
"restaurantId": "1",
"restaurantName": "Restaurant A",
"area": "Skudai",
"state": "Johor",
"rating": [
{
"ratingId": "1",
"rate": "5",
"comment": null,
"userId": "15"
},
{
"ratingId": "2",
"rate": "4",
"comment": null,
"userId": "14"
}
]
},
{
"restaurantId": "2",
"restaurantName": "Restaurant 2",
"area": "Skudai",
"state": "Johor",
"rating": null
}
],
"success": 1
}
Unten ist der Code, der am retriegelt Teil in der while-Schleife nicht ganz richtig scheint. Für den Parameter JSONObject im getAverage nehme ich bereits das erste Restaurant, welches Restaurant A ist, Restaurant 2 ist nicht enthalten.
public int getAverage(JSONObject jsonObject){
int average = 0, count = 0;
while (jsonObject.has("rate")){
average += Integer.parseInt(jsonObject.optString("rate"));
count++;
}
average /= count;
return average;
}
Wie rufe ich die mehrfachen Werte der Rate von der verschachtelten Bewertung mit optstring(), um den Mittelwert zu berechnen oder sollte ich andere Art und Weise, um es abzurufen?
wo ist dein Code ??? Hast du etwas probiert? –
Kopieren Sie die JSON-Antwort, fügen Sie sie in http://json2csharp.com ein, erhalten Sie Klassen als C#, konvertieren Sie die Klassen in Java, verwenden Sie GSON, um JSON zu parsen. Wenn Sie nicht können, überprüfen Sie bitte diese http://stackoverflow.com/questions/36625488/how-to-deserialize-json-with-a-string-url-name-value-pair/36625899#36625899 –