Ich möchte 3 Werte aus der JSON-Antwort (Name, Breite und Länge) behalten und sie an die Kartenaktivität zur Markierung in den Gmaps übergeben. Aber List Pair (String, String) kann nur 2 String-Argumente nehmen. Wie, um ein Listenpaar mit 3 Argumenten zu haben.Pair-Objekt mit 3 Werten von JSONArray
/// Edited Code nach der ersten Antwort bekommen
InputStream in = conn.getInputStream();
Log.v("Tag","Success");
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder result = new StringBuilder();
String line;
while((line = reader.readLine()) != null) {
result.append(line);
}
if(result != null){
List<Pair<String, String>> allNames = new ArrayList<>();
try
{
JSONArray jsonArray = new JSONArray(result.toString());
for (int i=0; i<result.toString().length(); i++) {
JSONObject jobj = jsonArray.getJSONObject(i);
String name = jobj.getString("NAME");
String latitude = jobj.getString("LATITUDE");
String Longitude = jobj.getString("LONGITUDE");
allNames.add(Pair.create(name, latitude));
}
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}
Hier result.toString() enthält meine Ausgabe. Zum Beispiel
[{"MANDT":"200","NAME":"SOU1","LATITUDE":"37.2968812","LONGITUDE":"-81.2344122","CHANGE_TIME":"163724","CHANGE_DATE":"20160826"},{"MANDT":"200","NAME":"ss1","LATITUDE":"29.233232","LONGITUDE":"-81.23","CHANGE_TIME":"174709","CHANGE_DATE":"20160828"}]
Danke für die richtige Richtung. Jetzt möchte ich 3 Werte als ein Paar und behalten Sie es als ein Array. Irgendwelche Ideen? –