私のデータベースにデータを入れようとしましたが、トピックのような例外があります。おそらく、StringをJSONObjectに変換すると問題になるかもしれませんが、私はそれをどのように修正できないのか分かりません。ここでAndroid volley例外:org.json.JSONException:値<br><タイプjava.lang.StringのテーブルをJSONObjectに変換できません
は私OrderRequest
次のとおりです。ここで
public OrderRequest(String orderNumber, String date, String adress, int phone, String email, String orderCode, int price, String time, int state, Response.Listener<String> listener){
super(Method.POST, ORDER_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("ordernumber", orderNumber);
params.put("data", date);
params.put("adress", adress);
params.put("phone", phone + "");
params.put("email", email);
params.put("ordercode", orderCode);
params.put("price", price + "");
params.put("time", time);
params.put("state", state + "");
}
@Override
public Map<String, String> getParams(){
return params;
}
は私のPHPコードは次のとおりです。?ここ
<?php
$con = <-here is password, etc...
$ordernumber = $_POST["ordernumber"];
$date = $_POST["date"];
$adress = $_POST["adress"];
$phone = $_POST["phone"];
$email = $_POST["email"];
$ordercode = $_POST["ordercode"];
$price = $_POST["price"];
$time = $_POST["time"];
$state = $_POST["state"];
$statement = mysqli_prepare($con, "INSERT INTO order (ordernumber, date, adress, phone, email, ordercode, price, time, state) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
mysqli_stmt_bind_param($statement, "sssissisi", $ordernumber, $date, $adress, $phone, $email, $ordercode, $price, $time, $state);
mysqli_stmt_execute($statement);
$response = array();
$response["success"] = true;
echo json_encode($response);
>
は私のJavaコードである:他には
Response.Listener<String> responsListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
Intent intent = new Intent(FinalizeActivity.this, LoggedActivity.class);
FinalizeActivity.this.startActivity(intent);
} else {
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
OrderRequest orderRequest = new OrderRequest(orderNumberO, dateO, adressO, phoneO, emailO, orderCodeO, priceO, timeO, stateO, responsListener);
RequestQueue queue = Volley.newRequestQueue(FinalizeActivity.this);
queue.add(orderRequest);
}
}
});
私のAPの場所私は似たようなコードを持っています。
あなたはどこかでHTMLをエコーしています。これがあなたの例外です。 HTMLはJSONとして解析できないので、例外はあります。 – 0xDEADC0DE
PHPのコード –
の 'data'では' date'ではないタイプのため、HTMLコンテンツとこの行に 'new JSONObject(response);というレスポンスが返されます。それ。あなたの応答は何ですか?json形式であれば、それを –