【问题标题】:I got an issue with assign value from JSON Object to Local Variable , Debugger Shows variable = 'this' is not Available我从 JSON 对象分配值到局部变量时遇到问题,调试器显示变量 = 'this' 不可用
【发布时间】:2019-06-22 04:56:19
【问题描述】:

第一次运行良好,经过一些测试,我得到了这个 问题。

我无法从 Json Object 获得价值,Json Array 很好,但是 未分配值。

Am Using Andorid Studio , Volley 用于从Json Format 中的网络服务器获取响应。

StringRequest postRequest = new StringRequest(StringRequest.Method.POST, syncURL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        try{
                            long TempResponse = response.length();
                            if (TempResponse <= 2){
                                udo_Core.udfShowMessage("Error","Error In Getting Data From Server!",udo_temp_activity);
                            }else {
                                JSONArray arr = new JSONArray(response);
                                for (int i = 0; i < arr.length(); i++) {
                                    JSONObject mJsonObject = arr.getJSONObject(i);
                                    try{
                                        udo_entry_max_BAR = mJsonObject.getLong("maxentryno");
                                        udo_entry_min_BAR = mJsonObject.getLong("minentryno");
                                        udo_entry_no_BAR  = udo_entry_min_BAR;
                                        udo_entry_no_MAX  = udo_entry_max_BAR;
                                    }catch (Exception e){
                                        e.printStackTrace();
                                    }

                                    //udo_PRB_Limit       = 100/(udo_entry_max_BAR-udo_entry_min_BAR);
                                }

                            }
                        }catch (JSONException e){
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener()
                {   @Override
                    public void onErrorResponse(VolleyError error){
                        error.printStackTrace();
                    }
                }
        ){
            @Override
            protected Map<String, String> getParams()
            {
                Map<String, String>  params = new HashMap<String, String>();
                params.put("query", udoQuery);
                params.put("type", type);
                params.put("companycode", "");
                params.put("p_fm_loc", "");
                params.put("p_to_loc", "");
                params.put("p_fm_date", "");
                params.put("p_to_date", "");
                return params;
            }
        };
        postRequest.setRetryPolicy(new DefaultRetryPolicy(12000,
                DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        udoVolleyQuery.add(postRequest);

在调试时,在循环内将 Json 对象的值分配给 局部变量,但在调试器窗口中显示“ udo_entry_max_BAR = 'this' 不可用"

【问题讨论】:

  • 听起来你只有在 IDE 中调试时才会看到这个。你打了一个断点,窗口中的语句是udo_entry_max_BAR = this?
  • 我从 Json Object 获取值,我已经放了断点,它显示 udo_entry_max_BAR = 'this' is Not Available

标签: java android json android-json


【解决方案1】:

这只显示在调试器窗口中,执行完成后你会得到值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-15
    • 2020-01-19
    • 2011-01-15
    • 2016-09-05
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多