private void loadJSON() { // get json resource file InputStream is = getResources().openRawResource(R.raw.languages_list); Scanner scanner = new Scanner(is); StringBuilder builder = new StringBuilder(); while(scanner.hasNextLine()) { builder.append(scanner.nextLine()); } parseJson(builder.toString()); } private void parseJson(String s) { try { Gson gson = new Gson(); languages = gson.fromJson(s,Map.class); // initialize spinner arraylist ArrayList<String> spinnerArray = new ArrayList<>(); for (Object key : languages.keySet()) { // add each language to spinner's arraylist spinnerArray.add(key.toString()); } // set up spinner spinnerAdapter = new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item, spinnerArray); spinner.setAdapter(spinnerAdapter); } catch (Exception e) { Log.e(TAG, e.getMessage()); }