Java 截取post请求中的JSON格式无效

Java 截取post请求中的JSON格式无效,java,android,json,post,android-volley,Java,Android,Json,Post,Android Volley,我想通过考试 data={"process" : "ExampleProcess", "phone" : "123456"} 作为volley中的一个post请求,到目前为止,我已经创建了一个(非常基本的)方法来发送 所需信息已发送到服务器,但我收到的响应失败 我在程序中添加了可以查看的日志 错误::com.android.volley.ParseError:org.json.JSONException:输入结束于 但我相信这与我试图传递信息的方式有关。在调试时,我也意识到我得到了一个错误指

我想通过考试

 data={"process" : "ExampleProcess", "phone" : "123456"}
作为volley中的一个post请求,到目前为止,我已经创建了一个(非常基本的)方法来发送 所需信息已发送到服务器,但我收到的响应失败

我在程序中添加了可以查看的日志

错误::com.android.volley.ParseError:org.json.JSONException:输入结束于

但我相信这与我试图传递信息的方式有关。在调试时,我也意识到我得到了一个错误指示

方法引发了“java.lang.NullPointerException”异常。无法计算org.json.JSONObject.toString()

我不知道该怎么办,即使我更改了:

        total.put("data", data.toString());

错误将持续存在。在这一点上,我不知道如何将正确的JSON post请求发送到我的URL(已从示例btw中删除)

public void截击连接器(字符串url){
最终JSONObject数据=新JSONObject();
最终JSONObject总计=新JSONObject();
试一试{
数据输入(“过程”、“示例过程”);
数据输入(“电话”、“123456789”);
total.put(“data”,data.toString());
}捕获(JSONException e){
v(“JSON错误:,例如toString());
}
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(url,总计,新的响应.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
Log.v(“----------------”,“------------------------------------”;
Log.v(“RESPONSE:”,“--->”+RESPONSE.toString());
Log.v(“,total.toString());
Log.v(“----------------”,“------------------------------------”;
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.v(“----------------”,“------------------------------------”;
Log.v(“响应:”,“xXxX失败X____X失败xXxX”);
Log.v(“|>>>错误:”,ERROR.toString());
//Log.v(“|>>>错误:”,ERROR.getLocalizedMessage());
Log.v(“,total.toString());
Log.v(“----------------”,“------------------------------------”;
}//响应结束
}){
@凌驾
公共映射getHeaders()引发AuthFailureError{
HashMap headers=新的HashMap();
headers.put(“内容类型”、“应用程序/json;字符集=utf-8”);
返回标题;
}
};
newRequestQueue(this.add)(jsonObjectRequest);
}//截击连接器方法的结束
我的完整错误日志(在请求失败时)显示:

V/RESPONSE::xXxX失败X\uuuuuuuuux失败xXxX
V/|>>>错误::com.android.volley.ParseError:org.json.JSONException:i的结尾
V/:{“数据”:“{\”进程\“:\”示例进程\“,\”电话\“:\”123456789\“}”
我不太确定到底发生了什么,通过阅读文档和使用Android studio进行调试,我也没有取得任何进展。就我而言,其中一个参数是JSONObject,我正在传入一个参数,尽管它的格式可能不正确


我们将非常感谢您提供的任何帮助/建议。

您所做的操作是正确的,但只需在代码中做一个小小的更改即可尝试一次代码-

JSONObject data= new JSONObject();

            data.accumulate("username", "mobileGps");
            data.accumulate("password", "9565551236");

            JSONObject total= new JSONObject();
            total.put("data",data);

            json = jsonObjectNew.toString(); 

并将此“json”传递给方法并检查一次。看起来一样,但试一次。

您做的是正确的,但只需对代码做一个小小的更改即可尝试一次代码-

JSONObject data= new JSONObject();

            data.accumulate("username", "mobileGps");
            data.accumulate("password", "9565551236");

            JSONObject total= new JSONObject();
            total.put("data",data);

            json = jsonObjectNew.toString(); 

并将此“json”传递给方法并检查一次。看起来一样,但试过一次。

我试过了,但由于某种原因仍然不起作用,最终我选择将JSON信息作为StringRequest()发送,结果成功了。我不知道为什么它不能与常规的JSONObjRequests一起工作。我尝试过它,但由于某种原因它仍然不能工作,最终我选择以StringRequest()的形式发送JSON信息,它成功了。我不知道为什么它不能与常规JsonObjRequests一起工作
V/RESPONSE:: xXxX FAIL X_____X FAIL XxXx
V/|>>>ERROR:: com.android.volley.ParseError: org.json.JSONException: End of i 
V/<----- BTW------>: {"data":"{\"process\":\"ExampleProcess\",\"phone\":\"123456789\"}"}
JSONObject data= new JSONObject();

            data.accumulate("username", "mobileGps");
            data.accumulate("password", "9565551236");

            JSONObject total= new JSONObject();
            total.put("data",data);

            json = jsonObjectNew.toString();