sig*_*onf 1 java post android json android-volley
我想通过
data={"process" : "ExampleProcess", "phone" : "123456"}
Run Code Online (Sandbox Code Playgroud)
作为一个截击请求,到目前为止,我已经设法创建一个(非常基本的)方法,将所需的信息发送到服务器,但我得到一个失败的响应.
我将日志添加到我可以看到的程序中
ERROR :: com.android.volley.ParseError:org.json.JSONException:字符2处的输入结束
但我认为这与我试图发送信息的方式有关.经过调试,我也意识到我收到了错误信息
方法抛出'java.lang.NullPointerException'异常.无法评估org.json.JSONObject.toString();
我不知道该做什么,即使我改变了:
total.put("data", data.toString());
Run Code Online (Sandbox Code Playgroud)
至
total.put("data", data);
Run Code Online (Sandbox Code Playgroud)
错误将持续存在.在这一点上,我不知道如何向我的URL发送正确的JSON post请求(已从示例btw中取出)
public void volleyConnector(String url) {
final JSONObject data = new JSONObject();
final JSONObject total = new JSONObject();
try {
data.put("process", "ExampleProcess");
data.put("phone" , "123456789");
total.put("data", data.toString());
} catch(JSONException e) {
Log.v("JSON ERROR: ", e.toString());
}
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest( url, total, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.v("--------------","---------------------------");
Log.v("RESPONSE: ", "-----> " + response.toString());
Log.v("<----- BTW------>", total.toString());
Log.v("--------------","---------------------------");
}
}, new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error) {
Log.v("--------------","---------------------------");
Log.v("RESPONSE: " , "xXxX FAIL X_____X FAIL XxXx");
Log.v("|>>>ERROR: ", error.toString());
//Log.v("|>>>ERROR: ", error.getLocalizedMessage());
Log.v("<----- BTW------>", total.toString());
Log.v("--------------","---------------------------");
} // end of onErrorREsponse
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json; charset=utf-8");
return headers;
}
};
Volley.newRequestQueue(this).add(jsonObjectRequest);
} // end of volley connector method
Run Code Online (Sandbox Code Playgroud)
我的完整错误日志(根据失败的请求)读取:
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\"}"}
Run Code Online (Sandbox Code Playgroud)
我不太确定发生了什么,我没有通过阅读文档和使用Android工作室进行调试.就我而言,其中一个参数是一个JSONObject,我传入了一个参数,虽然它可能是错误格式化的.
任何帮助/指针将不胜感激.
你做得对,但是在你的代码中进行一次小改动就可以尝试代码一次 -
JSONObject data= new JSONObject();
data.accumulate("username", "mobileGps");
data.accumulate("password", "9565551236");
JSONObject total= new JSONObject();
total.put("data",data);
json = jsonObjectNew.toString();
Run Code Online (Sandbox Code Playgroud)
并将此"json"传递给方法并检查一次.看起来一样,但尝试一次.
| 归档时间: |
|
| 查看次数: |
536 次 |
| 最近记录: |