Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中json的空指针异常使用改型_Android - Fatal编程技术网

android中json的空指针异常使用改型

android中json的空指针异常使用改型,android,Android,您好,在下面的代码中,我从server.csn收到空指针异常。请检查它,并让我知道我在哪里犯了错误 如果不执行特定的if条件,任何人都可以检查我的更新代码 json响应: { "status": [ { "id": "1234", "status": 1, "val": null } ] } 下面是ONOFF的代码,我们得到的是响应。body()得到的是null。 respo

您好,在下面的代码中,我从server.csn收到空指针异常。请检查它,并让我知道我在哪里犯了错误

如果不执行特定的if条件,任何人都可以检查我的更新代码

json响应:

{
    "status": [
        {
            "id": "1234",
            "status": 1,
            "val": null
        }
    ]
}
下面是ONOFF的代码,我们得到的是响应。body()得到的是null。 response.code()我得到了200个ok

开启关闭:

 OnOFF.setOnToggledListener (new OnToggledListener ( ) {
                @Override
                public void onSwitched(LabeledSwitch labeledSwitch, boolean isOn) {

                    String lightID="";
                    String lightType="";
                    String level="";
                    String Status="";

                    if(isOn) {

                        Retrofit retrofit = new Retrofit.Builder ( )
                                .baseUrl (API.URL_BASE)
                                .addConverterFactory (ScalarsConverterFactory.create ( ))
                                .addConverterFactory (GsonConverterFactory.create ( )).build ( );
                        API service = retrofit.create (API.class);
                        lightID = "1234";
                        lightType = "1";
                        level = "4";

                        try {
                            if (OnOFF.isOn ( )) {
                                Status = "1";

                            } else {
                                Status = "0";
                            }
                            JSONObject parmobject = new JSONObject ( );
                            parmobject.put ("Status", Status);
                            parmobject.put ("lightID", lightID);
                            parmobject.put ("lightType", lightType);
                            parmobject.put ("level", level);
                            // luminary.setImageDrawable(ContextCompat.getDrawable(getContext (), R.drawable.luminaryon));


                            Call<OnOffStatusList> userCall = service.getMyJSON (parmobject.toString ());
                            userCall.enqueue(new Callback<OnOffStatusList> () {

                                @Override
                                public void onResponse(Call<OnOffStatusList> call, Response<OnOffStatusList> response) {
                                    String response1= response.body ().toString ();
                                    Log.d ("response code",response1);
                                    if (response1.equals ("200")) {
                                        onoffStatusList=response.body ().getStatus ();
                                        String id=onoffStatusList.get (0).getId ();
                                        Integer status=onoffStatusList.get (1).getStatus();
                                        String val=onoffStatusList.get (2).getVal ();
                                        if(status==1) {
                                            luminary.setImageDrawable (ContextCompat.getDrawable (getContext ( ), R.drawable.luminaryon));
                                        }
                                        else {
                                            luminary.setImageDrawable (ContextCompat.getDrawable (getContext ( ), R.drawable.luminaryoff));

                                        }
                                        //   String status=response.body ().getMatches ().toString ();
                                    }
                                }

                                @Override
                                public void onFailure(Call<OnOffStatusList> call, Throwable t) {
                                    // Toast.makeText(LoginActivity.this, "Some error occurred -> ", Toast.LENGTH_LONG).show();;
                                    // dialog.dismiss();

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

                    }

            }
        });
OnOFF.setOnToggledListener(新的OnToggledListener(){
@凌驾
公共无效ON开关(LabeledSwitch LabeledSwitch,布尔值){
字符串lightID=“”;
字符串lightType=“”;
字符串级别=”;
字符串状态=”;
国际单项体育联合会{
改装改装=新改装.Builder()
.baseUrl(API.URL\u BASE)
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create()).build();
API服务=改装.create(API.class);
lightID=“1234”;
lightType=“1”;
级别=“4”;
试一试{
if(OnOFF.isOn()){
Status=“1”;
}否则{
Status=“0”;
}
JSONObject parmobject=新的JSONObject();
parmobject.put(“状态”,Status);
parmobject.put(“lightID”,lightID);
parmobject.put(“lightType”,lightType);
parmobject.put(“level”,level);
//setImageDrawable(ContextCompat.getDrawable(getContext(),R.drawable.luminaryon));
调用userCall=service.getMyJSON(parmobject.toString());
userCall.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
字符串response1=response.body().toString();
Log.d(“响应代码”,响应1);
如果(响应1.1等于(“200”)){
onoffStatusList=response.body().getStatus();
字符串id=onoffStatusList.get(0.getId();
整数状态=onoffStatusList.get(1).getStatus();
字符串val=onoffStatusList.get(2).getVal();
如果(状态==1){
luminary.setImageDrawable(ContextCompat.getDrawable(getContext(),R.drawable.luminaryon));
}
否则{
luminary.setImageDrawable(ContextCompat.getDrawable(getContext(),R.drawable.luminaryoff));
}
//字符串状态=response.body().getMatches().toString();
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
//Toast.makeText(LoginActivity.this,“发生了一些错误->”,Toast.LENGTH_LONG.show();;
//dialog.dismise();
}
});
}捕获(JSONException e){
e、 printStackTrace();
}
}
}
});
API:

@Headers(“内容类型:application/json”)
@邮政(“OnOff”)
调用getMyJSON(@Body-String-Body);

将response.body()和response一起添加空检查。
if(response!=null&&response.body()!=null)

共享Json响应。onoffStatusList为空,您正在尝试从null获取值。注释不用于扩展讨论或调试会话;这段对话已经结束。请确保回答中包含聊天室中的任何相关信息。
 @Headers("Content-Type: application/json")
    @POST("OnOff")
    Call<OnOffStatusList> getMyJSON(@Body String body);