я пытаюсь опубликовать некоторые данные из моего приложения Android на мой веб-сервер, а затем отправить ответ значение, но я получаю эту ошибку
Error: org.json.JSONException: Value SQLSTATE of type java.lang.String cannot be converted to JSONObject
Вот код Android, который имеет отношение
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d(TAG, "Error: " + error.getMessage());
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("name", regName);
params.put("email", regEmail);
params.put("password", regPassword1);
return params;
}
};
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
Вот соответствующий код PHP
<?php$iname = $_POST['name'];
$iemail = $_POST['email'];
$ipassword = $_POST['password'];
try {$list = array();
$x = 1;
$name = "Epic App";
$image = "http://www.example.com/feed/img/c123.jpg";
$profilePic = "http://www.example.com/feed/img/nat.jpg";
$timeStamp = "1403375851930";
while($x<=10){
$list[] = array('id' => $x, 'name' => $name, 'image' => $image, 'profilePic' => $profilePic, 'timeStamp' => $timeStamp);
$x++;
}
echo json_encode(array('feed' => $list));
exit;
}
catch(PDOException $e) {
echo $e->getMessage();
exit();
}
?>
В этом php есть больше кода, но я взял его, так как не думаю, что он уместен, просто запрашивает и т.д …
Спасибо за помощь
Если вы используете JsonObjectRequest, вы предоставляете param как JSONObject вместо getParams (…)
ниже, т.е.
JSONObject o = new JSONObject();
o.put("name", regName);
o.put("email", regEmail);
o.put("password", regPassword1);
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST, url, o,.. );
Других решений пока нет …