Ich versuche, Daten aus dem folgenden JSON-Objekt im Java-HTTP-Post zu lesen. Ich konvertiere zuerst es in String dann json Objekt, um die Daten zu lesen.Lesen von Daten aus dem 2D-JSON-Objekt
{
"entry": [
{
"id": "1306487646057992",
"messaging": [
{
"message": {
"mid": "mid.1486361982003:2ed6c8ae51",
"seq": 12412,
"text": "hi there 8"
},
"recipient": {
"id": "1306487646057992"
},
"sender": {
"id": "1374961642574944"
},
"timestamp": 1486361982003
}
],
"time": 1486361982072
}
],
"object": "page"
}
Java-Code ..
// Read from request
StringBuilder buffer = new StringBuilder();
BufferedReader reader = request.getReader();
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
String data = buffer.toString();
JSONObject row = new JSONObject(data);
JSONArray rows = row.getJSONArray("entry");
JSONArray first = rows.getJSONArray(0);
System.out.println("first array is "+first);
Wenn ich den Code ausführen ich erhalte die folgende Ausnahme
org.json.JSONException: JSONArray[0] is not a JSONArray.
Ich versuche, die Absender-ID & Textfeld zugreifen "Hallo dort 8" Kann nicht verstehen, wo ich falsch liege ... Bitte Hilfe ..
Versuchte Ihre Lösung ... Ich erhalte die Fehlermeldung „JSONArray [0] ist kein String "... – Lucy
@Lucy versuche jetzt, ich verpasse' {'in' entry: [{id', jetzt wird es gut funktionieren. 'rows' enthalten ein' JSONObject' anstelle von 'String'. –
Lassen Sie es mich wissen, wenn es für Sie funktioniert, was ich arbeiten soll. –