我在将 JSON 对象的值分配给局部变量时遇到问题,调试器显示变量 = "this"不可用



第一次它工作正常,经过一些测试,我得到了这个 问题。

我无法从Json Object那里获得价值,Json Array很好,但是 值未断言。

我使用的是Andorid StudioVolley用于获取Json Format中Web服务器的响应。

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 = "此"不可用">

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

最新更新