Android Studio-Kotlin : java.lang.String类型的值<br不能转换为JSONObject。

问题描述 投票:0回答:1

这是我的php文件:我想在detaildonasi表中根据最后的id插入数据到detaildonasi中。

<?php

$conn = new mysqli("localhost","root","","donasiku");
$sql = "SELECT * FROM donasi ORDER BY id DESC LIMIT = 1";
$result = $conn->query($sql);

if($result === TRUE)
{
    $id = $result->fetch_assoc();
    $jumlah = $_POST['jumlah'];
    $kebutuhanid = $_POST['kebutuhanid'];

    $sql2 = "INSERT INTO detaildonasi VALUES('','$jumlah','$id','$kebutuhanid')"
    $result2 = $conn->query($sql2);

    if($result2 === TRUE)
    {
        $arr = array('hasil' => 'success');
    }
    else
    {
        $arr = array('hasil' => $conn->error);
    }
}
else
{
    $arr = array('hasil' => $conn->error);
}

echo json_encode($arr);
$conn->close();

?>

这是我的Fragment文件的Volley。

val q2 = Volley.newRequestQueue(this.context)
val url2 = "http://10.0.2.2/donasiku/detaildonasi.php"
val sr2 = object:StringRequest(Request.Method.POST,url2,Response.Listener {
      response -> try{
      val obj2 = JSONObject(response)
      Toast.makeText(this.context,obj2.getString("hasil"), Toast.LENGTH_SHORT).show()
      }catch (e:JSONException){Toast.makeText(this.context, e.message.toString(), Toast.LENGTH_SHORT).show()}
      },Response.ErrorListener {  })
      {
        override fun getParams(): Map<String, String> {
        val params2 = HashMap<String, String>()
        for(donasi in daftarDonasiUser)
         {
            params2.put("jumlah",donasi.jumlahbarang.toString())
            params2.put("kebutuhanid",donasi.idbarang.toString())
         }
            return params2

            }
         }

         q2.add(sr2)

代码进入了 catch JSONException 和 Toast Value br of type java.lang.String cannot be converted to JSONObject.

android android-studio kotlin
1个回答
0
投票

<br 是html。你的api在某种程度上出错了,所以html(而不是你所期望的Json)被写入了页面。

© www.soinside.com 2019 - 2024. All rights reserved.