2017-09-19 1 views
0

iam Student und ich habe diese Klasse für Parse und Return JSON Daten und ich ein String-Array und ich möchte das String-Array zu ArrayList ändern, aber ich bleibe dabei, wie kann ich ArrayList verwenden zu analysieren und WiedereinarbeitungsArrayList zu analysieren und JSON-Daten zurückgeben

das ist meine Versuche:

public static String[] getStringsFromJson(Context context, String JsonString) 
      throws JSONException { 

     final String RESULTS = "results"; 
     final String SUBJECT = "subject"; 

     ArrayList<ListItem> ItemsList; 

     JSONObject Object = new JSONObject(JsonString); 
     JSONArray ItemsList = Object.getJSONArray(RESULTS); 

     for(int i = 0; i < ItemsList.length; i++) 
     { 

      JSONObject object = ItemsList.getJSONObject(i); 
      Item ci = new Item(); 
      String subject = object.getString(SUBJECT); 
      ci.toString(subject); 
      ItemsList.add(ci); 
     } 
+3

Was genau ist die Frage? – Mureinik

+0

Sie müssen mehr Forschungsaufwand zeigen - erklären Sie, was Sie bisher getan haben, um das Problem zu lösen, zeigen Sie die Arbeit. – Assafs

+0

Ich möchte das String-Array in ArrayList ändern alle Tipps, die mir helfen, das zu tun – user8043603

Antwort

-1

Sie gerade vergessen haben hier eine neue Instanz der Array-Liste zu bekommen ArrayList<MovieItem> moviesItemsList = new ArrayList<MovieItem>();

es wie folgt tun:

public static ArrayList<MovieItem> getSimpleMovieStringsFromJson(Context context, String moviesJsonString) 
     throws JSONException { 

    final String RESULTS = "results"; 
    final String POPULARITY = "popularity"; 
    final String POSTER_PATH = "poster_path"; 
    final String ORIGINAL_TITLE = "original_title"; 

    ArrayList<MovieItem> moviesItemsList = new ArrayList<MovieItem>(); 

    JSONObject moviesObject = new JSONObject(moviesJsonString); 
    JSONArray moviesItemsList = moviesObject.getJSONArray(RESULTS); 

    for(int i = 0; i < moviesItemsList.length; i++) 
    { 

     JSONObject object = moviesItemsList.getJSONObject(i); 
     MovieItem ci = new MovieItem(); 
     String original_title = object.getString(ORIGINAL_TITLE); 
     ci.toString(original_title); 
     moviesItemsList.add(ci); 
    } 

    return moviesItemsList; 
} 
+0

@ user8043603 hinzufügen überprüfen Sie die aktualisierte Antwort! – Maraboc

+0

Ich bekomme nur rote Linie unter diesem Code MovieItem ci = new MovieItem(); Warum – user8043603

+0

hast du die 'MovieItem' Klasse? – Maraboc

0

Statt parsedMovieData, verwenden Sie diese:

List<String> parsedMovieList = new ArrayList<>(moviesArray.length()); 
parsedMovieList.add(popularity + " - " + poster_path + " - " + original_title); 
Verwandte Themen