如何解决使用Volley Android Studio发布JSONObject时出错
我通过使用Volley发送JSONObject,但得到:
有人知道问题出在哪里吗?! 这是我的Java代码:final JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("siteName","example.com");
jsonObject.put("field","android");
} catch (JSONException e) {
e.printstacktrace();
}
button.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
JsonObjectRequest objectRequest = new JsonObjectRequest(Request.Method.POST,url,jsonObject,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
textView.setText(response.getString("websiteInfo"));
} catch (JSONException e) {
e.printstacktrace();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(JsonActivity.this,error.getMessage().toString(),Toast.LENGTH_LONG).show();
}
});
Volley.newRequestQueue(JsonActivity.this).add(objectRequest);
}
});
<?PHP
$json = file_get_contents('PHP://input');
$obj = json_decode($json);
$website = $obj->{'siteName'};
$field = $obj->{'field'};
$output ='';
$output->websiteInfo = $website.$field;
$jsonObject=json_encode($output);
echo $jsonObject;
?>
解决方法
您正在将参数作为JSONObject传递。您应该重写 getParams 方法并传递ur参数。
供参考,请查看博客:Android Volley Tutorial – Making HTTP GET,POST,PUT
,这是解析错误。确保您的服务器返回了类似的内容
{ “ websiteInfo”:“这是一个健康的网站” }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。