Heim >Java >javaLernprogramm >Warum schlägt meine String-zu-JSONArray-Konvertierung in Android fehl und wie kann ich das Problem beheben?
Problem beim Konvertieren eines Strings in ein JSON-Array
Bei dem Versuch, einen JSON-String von einem Webdienst in ein JSON-Array zu analysieren, ein Android Der Entwickler ist auf eine Typkonfliktausnahme gestoßen. Die bereitgestellte JSON-Zeichenfolge ist gültig und der folgende Code wurde verwendet:
JSONArray jsonArray = new JSONArray(readlocationFeed);
Auflösung
Das Problem liegt in der Art des JSON-Objekts, das erstellt wird. Der empfangene JSON ist eigentlich ein JSON-Objekt, kein Array. Um das Problem zu beheben, sollte der Code wie folgt geändert werden:
JSONObject jsonObject = new JSONObject(readlocationFeed); JSONArray jsonArray = jsonObject.getJSONArray("locations");
Dadurch wird ein JSONObject aus der JSON-Zeichenfolge erstellt und dann das Array „locations“ daraus abgerufen. Das Array kann dann iteriert werden, um auf die einzelnen Standortobjekte zuzugreifen. Hier ist der überarbeitete Code:
JSONObject jsonObject = new JSONObject(readlocationFeed); JSONArray jsonArray = jsonObject.getJSONArray("locations"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject locationObject = jsonArray.getJSONObject(i); }
Das obige ist der detaillierte Inhalt vonWarum schlägt meine String-zu-JSONArray-Konvertierung in Android fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!