2017-07-29 1 views
-2

Ich habe ein JSON-Array unten und möchte entsprechende ID, die Nummer ist und den Spinner mit dem Text füllen, wenn eine Option aus Spinner ausgewählt ist, die auch dynamisch ist, also auch a json-Array, das in Spinner angezeigt wird und die ID an den Server senden, jede mögliche Hilfe bitte guzsWie bekomme ich JSON-ID und Wert zum Auffüllen von Spinner

{ 
 
    "status": "success", 
 
    "message": "banks Fetched", 
 
    "data": { 
 
     "214": "FIRST CITY MONUMENT BANK PLC", 
 
     "215": "UNITY BANK PLC", 
 
     "221": "STANBIC IBTC BANK PLC", 
 
     "232": "STERLING BANK PLC", 
 
     "301": "JAIZ BANK", 
 
     "304": "Stanbic Mobile", 
 
     "305": "PAYCOM", 
 
     "307": "Ecobank Mobile", 
 
     "309": "FBN MOBILE", 
 
     "311": "Parkway", 
 
     "315": "GTBank Mobile Money", 
 
     "322": "ZENITH Mobile", 
 
     "323": "ACCESS MOBILE", 
 
     "401": "Aso Savings and Loans", 
 
     "044": "ACCESS BANK NIGERIA", 
 
     "014": "AFRIBANK NIGERIA PLC", 
 
     "063": "DIAMOND BANK PLC", 
 
     "050": "ECOBANK NIGERIA PLC", 
 
     "084": "ENTERPRISE BANK LIMITED", 
 
     "070": "FIDELITY BANK PLC", 
 
     "011": "FIRST BANK PLC", 
 
     "058": "GTBANK PLC", 
 
     "030": "HERITAGE BANK", 
 
     "082": "KEYSTONE BANK PLC", 
 
     "076": "SKYE BANK PLC", 
 
     "068": "STANDARD CHARTERED BANK NIGERIA LIMITED", 
 
     "032": "UNION BANK OF NIGERIA PLC", 
 
     "033": "UNITED BANK FOR AFRICA PLC", 
 
     "035": "WEMA BANK PLC", 
 
     "057": "ZENITH BANK PLC" 
 
    } 
 
}

+0

einfache Weise json speichern Werte innerhalb Array und setzen Array als Spinner Werte erhalten, wenn Sie wollen i kann zeigen, wie man Spinner Werte –

+0

Bitte zeigen Sie mir, ich möchte das JsonObject "Daten" verwenden, verwenden Sie die Zeichenfolge, um den Spinner und schickte die Nummer an den Server als Spinner ID, bitte helft mir –

+0

Welchen Teil tun Sie Brauchen Sie Hilfe bei? Wissen Sie, wie man einen JSON String analysiert? Weißt du, wie man einen Spinner bevölkert? Beide können mit einer schnellen Google-Suche beantwortet werden. –

Antwort

0

dies mit Volley-Bibliothek So versuchen tun:

private void sendjsonRequest(){ 

     JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(Request.Method.GET,"serverlink",null, new Response.Listener<JSONArray>() { 

      @Override 
      public void onResponse(JSONArray response) { 

       String[] banks=parsejsonResponse(response); 
       Spinner s = (Spinner) findViewById(R.id.Spinner01); 
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_spinner_item, banks); 
       s.setAdapter(adapter); 


      } 

     }, new Response.ErrorListener() { 

      @Override 
      public void onErrorResponse(VolleyError error) { 

      } 
     }); 

     requestQueue.add(jsonArrayRequest); 

    } 

private String[] parsejsonResponse(JSONArray array){ 

     String[] banks; 

     if (array!= null){ 
      JSONArray data=array.getJSONArray("data"); 

      for (int i=0;i<data.length();i++){ 
       try { 
         JSONObject bank=data.getJSONObject(i); 

         String id=bank.getString("id"); 
         String bankname=bank.getString("bankname") 

         banks.add(bankname); 

        } 

       } catch (JSONException e) { 

       } 

      } 
     } 

     return banks; 

    } 

Format json wie diese exemple:

[{ 
    "status": "success", 
    "message": "banks Fetched", 
    "data": [ 
     { 
      "id": 214, 
      "bankname": "FIRST CITY MONUMENT BANK PLC" 
     }, 
     { 
      "id": 215, 
      "bankname": "UNITY BANK PLC" 
     }, 
     { 
      "id": 221, 
      "bankname": "STANBIC IBTC BANK PLC" 
     }, 
     { 
      "id": 232, 
      "bankname": "STERLING BANK PLC" 
     }, 
     { 
      "id": 301, 
      "bankname": "JAIZ BANK" 
     }, 
     { 
      "id": 304, 
      "bankname": "Stanbic Mobile" 
     }, 
     { 
      "id": 305, 
      "bankname": "PAYCOM" 
     } 
    ] 
}] 

In oncreate nur cal sendjsonrequest() Methode

+0

Ich versuche dies in meinem Code es mir Fehler "Banken = parsejsonResponse (Antwort);" Bitte wot den Datentyp der Banken hier –

+0

und dies auch Fehler "JSONArray data = array.getJSONArray (" data ");" –

+0

die Variable Banken ist ein String [] wie ** parsejsonResponse() ** Banken Ich aktualisiere Code mit Datentyp der Banken @ kehindehussein –

Verwandte Themen