Ich habe dieses JSON
Wie ein JSON-Objekt zuzugreifen, die in ein Objekt keinen Namen hat
{
"success": true,
"shippingMethod": [
{
"flat": {
"code": "flat.flat",
"title": "Flat Shipping Rate",
"cost": "5.00",
"tax_class_id": "9",
"text": "$5.00"
}
},
{
"zajil": {
"code": "zajil.zajil",
"title": "Zajil Shipping",
"cost": "26",
"tax_class_id": "0",
"text": "$26.00"
}
}
]
}
Hinweis, dass jeder echte object
in array
innerhalb eines unnötigen Objekt ist, das keinen Namen dh flat
hat und zajil
in dem obigen Code sind in einem anderen Objekt.
Ich brauche nur die Daten innerhalb dieser verschachtelten Objekte flat
und zajil
. Wenn ich versuche, diesen Code
JSONArray shippingMethods = response.optJSONArray("shippingMethod");
for (int i = 0; i < shippingMethods.length(); i++) {
JSONObject shippingObj = shippingMethods.optJSONObject(i);
JSONObject shippingMethod = shippingObj.optJSONObject("");
Iterator<?> keys = shippingObj.keys();
shippingMethod.optString("title");
shippingMethod.optString("cost");
}
sollte ich mich kann die Object
bekommen, das keinen Namen wie
JSONObject shippingMethod = shippingObj.optJSONObject("");
hat, aber es funktioniert nicht und wirft NullPointerException
wenn etwas von ihm zu bekommen. Dann versuche ich zu iterate
für keys
wie
Iterator<?> keys = shippingObj.keys();
Es zeigt nichts als dieses Objekt nicht eine beliebige Taste direkt enthält. Also meine Frage ist wie bekomme ich die benötigten Daten title
und cost
von oben JSON
. Ich kann nicht ändern JSON
wie es ist die Standardstruktur der Website des Kunden.
Jede Hilfe wäre willkommen. Alle Objekte haben Namen in Ihrem JSON
Dank kann helfen @CmmonsWare aber das Problem ist, diejenigen Objekte 'flat' und' zajil' sind innerhalb eines anderen übergeordneten Objekt, das Problem verursacht wird, das keinen Namen hat. –
@InzimamTariqIT: Sie erhalten diese per Index aus dem 'JSONArray' (' shippingMethods.optJSONObject (i) '). – CommonsWare
Ich habe 'Iterator > keys = shippingObj.keys(); 'in meinem Code & ausgedruckt Tasten, aber nicht beobachtet Keys in Logcat, so dass ich verwirrt. Jetzt habe ich mein logcat gefiltert die Schlüssel sind da. –