java - 我如何循环 JSON 对象的响应?

标签 java android

我遇到错误:org.json.JSONObject 类型的数据无法转换为 JSONArray

这是我的回复

{
    "success": "true",
    "data": {
        "email": "sample@gmail.com",
        "session_code": "samplesession"
    }
}

这是我的代码

StringRequest stringRequest = new StringRequest(Request.Method.POST,Config.login, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {

        try {
            JSONObject obj = new JSONObject(response);

            JSONArray details = obj.getJSONArray("data");


            if (status_code == 200) {
                Log.d("success_to",response);


                for (int i=0; i<details.length(); i++) {

                    JSONObject object = details.getJSONObject(i);

                    String email = object.getString("email");

                    Log.d("sample_email", email);

                }

                finish();

                startActivity(new Intent(getApplicationContext(), Profile.class));

            }else{

                Log.d("error_to","error 404 na");
                Toast.makeText(getApplicationContext(), obj.getString("message"), Toast.LENGTH_SHORT).show();

            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

我还是 Android 新手,我仍在学习这个过程,有人可以帮助我解决我的问题吗,这确实浪费了我修复这个错误的时间。

最佳答案

您的 json 中没有数组,因此请尝试如下

   JSONObject obj = new JSONObject(response);
   JSONObject data=obj.optJSONObject("data");
   String email = data.getString("email");

从代码中删除以下行

JSONArray details = obj.getJSONArray("data");
 for (int i=0; i<details.length(); i++) {
      JSONObject object = details.getJSONObject(i);
      String email = object.getString("email");
      Log.d("sample_email", email);
     }

关于java - 我如何循环 JSON 对象的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59950875/

相关文章:

android - setCompoundDrawables 对可绘制形状无效

android - 像 Twitter 一样将日期转换为字符串

android - 如何在.aidl文件中定义接口(interface)类型的parcelable?

java - bufferedreader 后返回 null 的字符串

java - 如何注入(inject)Presenter和View界面MVP dagger 2

java - 尝试从 Firebase 检索数据但获取 null

android - 具有不同项目宽度的 RecyclerView 的 LayoutManager

Java从JSON文件中解析JSON数组

java - 为什么我的程序在文件存在时捕获/抛出 FileNotFoundException?

android - 使用对类成员的严格访问和模块化代码使得对 APK 进行逆向工程变得更加困难