2014-06-17 3 views
0

J'essaye de créer une vue d'image de json url. Je reçois l'URL en utilisant un for-loop dans une chaîne. Je ne pouvais pas utiliser cette variable en dehors de la boucle for. J'ai essayé de construire un arraylist à l'intérieur de la boucle for. C'est ce que je reçois dans le journal.Analyse json url

Création vue ... [[], [], [], [], [], [], [], [], [], []]

Voici mon code.

@Override 
    protected JSONObject doInBackground(String... args) { 

     JSONParser jParser = new JSONParser(); 
     // Getting JSON from URL 
     JSONObject json = jParser.getJSONFromUrl(url); 

     // Log.v("url", "Creating view..." + json); 

     try { 

      // Getting JSON Array from URL 
      android = json.getJSONArray(TAG_URL); 

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

       map = new ArrayList<HashMap<String, String>>(); 
       JSONObject c = android.getJSONObject(i); 

       String name = c.getString(TAG_URL); 

       arraylist.add(map); 



       // Log.v("url", name); 
      } 
      Log.v("url", "Creating view..." + arraylist); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 


     return null; 

    } 

Voici le JSON: http://www.json-generator.com/api/json/get/ciCLARKtKa?indent=4

+0

quel est le JSON? le poster –

+0

http://www.json-generator.com/api/json/get/ciCLARKtKa?indent=4 – diwa

Répondre

0

Je pense que vous avez manqué de mettre les valeurs dans MAP.

Essayez utilisation comme cette

for (int i = 0; i < android.length(); i++) { 
       JSONObject c = android.getJSONObject(i); 
       // Storing each json item in variable 
       String flag = c.getString("flag"); 
       HashMap<String, String> map = new HashMap<String, String>(); 
       map.put("flag", flag); 
       arraylist.add(i, map); 

      } 
+0

Création de vue ... [{flag = flag}, {flag = flag}, {flag = flag} , {drapeau = drapeau}, {drapeau = drapeau}, {drapeau = drapeau}, {drapeau = drapeau}, {drapeau = drapeau}, {drapeau = drapeau}, {drapeau = drapeau}] .. C'est ce que j'ai .. – diwa

+0

hey désolé .. J'ai fait une erreur avant d'essayer le vôtre .. Son travail .. Merci .. – diwa

1

En cas de doute sur la façon de créer un POJO d'un JSON, je vous recommande d'essayer ce site: http://www.jsonschema2pojo.org/

Il vous fournit un plein java classe qui fonctionne pour un type json donné;

Pour la plupart des cas, je vous recommande d'utiliser cette configuration (à partir du site ci-dessus): Type de source: Json style Annotation: Aucun et contrôleront utilise SEULEMENT primitives.

J'espère que ça aide!

1

salut faire quelque chose comme suit

JSONObject primaryObject = new JSONObject(//yours json string); 
    JSONArray primaryArray = primaryObject.getJSONArray("worldpopulation"); 
    for (int i = 0; i < primaryArray.length(); i++) { 

     JSONObject another = primaryArray.getJSONObject(i); 
     String country = another.getString("country"); 
     String flag = another.getString("flag"); 
     int rank = another.getInt("rank"); 
     String population = another.getString("population"); 

     HashMap<String, String> map = new HashMap<String, String>(); 
     map.put("flag", flag); 
     arraylist.add(i, map); 
    }