如何在Android中将JSONObject转换为字符串数组或ArrayList <String>

阿里雷扎·诺拉里(Alireza Noorali)

我将获取JSONObject的值并将其放入String Array或ArrayList中。问题是我有一个JSONObject而不是JSONArray,并且我不能更改Webservice。这是我的JSONObject:

{“ THR”:“تهران”,“ MHD”:“مشهد”,“ KIH”:“کیش”,“ IFN”:“اصفهان”,“ SYZ”:“شیراز”,“ TBZ”:“تبریز”,“ ABD“:”آبادان“}

这是我的代码:

    ProgressBar progressbar = (ProgressBar) findViewById(R.id.progressbar);
    RequestQueue queue = Volley.newRequestQueue(getApplicationContext());

    progressbar.setVisibility(View.VISIBLE);
    StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Toast.makeText(getApplicationContext(), "Response", Toast.LENGTH_SHORT).show();
            progressbar.setVisibility(View.GONE);

            try {
                JSONArray array = new JSONArray(response);
                Toast.makeText(getApplicationContext(), "Try", Toast.LENGTH_LONG).show();
            } catch (JSONException e) {
                e.printStackTrace();
                Toast.makeText(getApplicationContext(), "Catch", Toast.LENGTH_LONG).show();
            }

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_SHORT).show();
            progressbar.setVisibility(View.GONE);
        }
    });

    queue.add(stringRequest);

当我调试代码时,它会转到CATCH !!!无论如何,它都不去尝试!

我想要这样的东西:

String[] strArray = {"تهران","مشهد","کیش","اصفهان","شیراز","تبریز","آبادان"};

我怎么才能得到它?

sammyShenker

在您的代码中添加了更改

ProgressBar progressbar = (ProgressBar) findViewById(R.id.progressbar);
    RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
    ArrayList<String> answersStringArray= new ArrayList<String>(); // define string array

progressbar.setVisibility(View.VISIBLE);
    StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Toast.makeText(getApplicationContext(), "Response", Toast.LENGTH_SHORT).show();
            progressbar.setVisibility(View.GONE);

            try {
                JJSONObject jsonObject = new JSONObject(response); //cast responce to jsonObject
                Iterator<?> keys = jsonObject.keys(); // get the keys of the jsonObject
                while( keys.hasNext() ) {//iterrate over them
                    String key = (String)keys.next();
                    answersStringArray.add(jsonObject.optString(key));}// add the string to our array of stings


          } catch (JSONException e) {
                e.printStackTrace();
                Toast.makeText(getApplicationContext(), "Catch", Toast.LENGTH_LONG).show();
            }

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_SHORT).show();
            progressbar.setVisibility(View.GONE);
        }
    });

    queue.add(stringRequest);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用“string()”函数的情况下在javascript中将数组转换为字符串?

如何在go中将[] [2] string转换为map [string]字符串?

如何在golang中将字符串从接口转换为[] string?

如何在Java中将String转换为字符数组

在Java中将ArrayList <String []>有效转换为多行字符串

如何将字符串转换为字符串数组 String()?

如何将字符串数组更改为数组。String []到ArrayList <string>格式转换

在Java中将String []转换为逗号分隔的字符串

将字符串转换为ArrayList <String>

如何在Android中将字符串化数组转换为ArrayList

如何在Android中将arraylist数据转换为字符串数组

Android arraylist <String>转换为单个字符串

如何在Kotlin中将String语句转换为arraylist

如何在Kotlin中将String数组转换为Int数组?

如何转换Dictionary <String,Any> .Values?转换为字符串数组SWIFT

将字符串数组转换为List <string>

如何在React Native中将String转换为Byte数组?

如何在Swift中将String转换为float数组

如何在Java中将Vector转换为String数组

如何将Collection <Set <String >>转换为字符串数组

在Swift中将UIImage转换为String并将字符串转换为UIImage

如何在Java中将ArrayList <ArrayList <String >>转换为List <List <String >>?

在Ansible中将对象列表(字符串,字符串)转换为字典(字符串,列表<string>)

如何在Android中将字符串生成器转换为字符串数组?

字符串数组拆分-string []转换为字符串错误

在C#中将定界字符串转换为KeyValuePair <string,string>的列表

将字符串转换为[[String]]

在Android中将List <List <String >>转换为ArrayList <String>

如何在Ruby中将字符串转换为数组