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());
        }