キーと値を取得するには、JsonObject
をJsonArray
にマップするにはどうすればよいですか?jsonオブジェクトをJavaのjsonarrayにどのようにマップするのですか?
私は値を使用してスピナーを設定し、スピナーから選択したアイテムのIDにキーを設定します。
"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"
}
このコードは動作しません。私はGoogleのVolleyライブラリを使用しています。私はJsonObject
をJsonArray
に変換するように言われました。
private void getData() {
JsonObjectRequest obreq = new JsonObjectRequest(Request.Method.GET, serverUrl_list,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray obj = response.getJSONArray("Data");
for (int k=0; k<obj.length(); k++) {
while (mapIterator.hasNext()) {
Map.Entry mapEntry = (Map.Entry) mapIterator.next();
Integer keyValue = (Integer) mapEntry.getKey();
String value = (String) mapEntry.getValue();
//iterate over the array and print each value
for (int i=0; i<mapEntry.; i++) {
System.out.print(value[i] + " ");
}
System.out.println();
}
}
students.add(obj.getString("Data"));
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, students);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Bank.setAdapter(spinnerAdapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Volley", "Error");
}
}
);
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(obreq);
}
私が正しく理解していれば、 'Map'を 'List >'に変換したいですか?いくつかのコードを表示していただければ幸いです。 –
4castle
"id"と "bankname"を持つjsonarrayに変換し、 "bankname"でスピナーを設定し、bankidに "id"を設定します。 –
上記のjsonにはjsonarrayがありません。だから間違ったときにあなたのコードをしてください –