我想通过php party将数据添加到MySQL。但是我一直失败。检查网站上的数据。仍然没有解决方案。我哪里出错了?
我尝试了以下方法,但似乎无法解决问题。如何修复“使用JsonReader”。setLenient(true)在Android Studio中的第1行第1列path$'错误处接受格式错误的JSON,并使用JsonReader。setLenient(true)在第1行第1列路径接受格式错误的JSON$
我得到了另一个错误,java.lang.IllegalStateException:预期BEGIN_OBJECT但在第1行第1列路径$上是STRING从这个错误使用JsonReader.setLenient(true)在第1行第1列路径$上接受格式错误的JSON。添加GsonBuilder()。
我使用//。。。使代码最小化。
依赖项
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation "com.squareup.okhttp3:logging-interceptor:3.3.1"
implementation 'com.google.code.gson:gson:2.8.5'
布局
<EditText
android:id="@+id/editText1"
//... />
<EditText
android:id="@+id/editText2"
//... />
<EditText
android:id="@+id/editText3"
//... />
<Button
android:id="@+id/buttonInsert"
//...
/>
主要活动
class MainActivity : AppCompatActivity() {
//...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//...
binding.buttonInsert.setOnClickListener {
insert(editText1.text.toString(),editText2.text.toString(),editText3.text.toString())
}
}
fun insert(name:String,alamal:String,telepon:String){
val ardData:APIinsertData = InsertServer().konekRetrofit2()!!.create(APIinsertData::class.java)
val tampilData: Call<ResponseModel?>? = ardData.insertData(name,alamal,telepon)
tampilData?.enqueue(object :Callback<ResponseModel?>{
override fun onResponse(
call: Call<ResponseModel?>,
response: Response<ResponseModel?>
) {
//...
}
override fun onFailure(call: Call<ResponseModel?>, t: Throwable) {
Log.d("ex","==${t.message.toString()}")
}
})
}
}
接口API插入数据
interface APIinsertData {
@FormUrlEncoded
@POST("insert.php")
open fun insertData(
@Field("name")name:String,
@Field("alamal")alamal:String,
@Field("telepon")telepon:String
): Call<ResponseModel?>?
}
插入服务器
class InsertServer {
private val baseURL="http://10.0.2.2/insertData/"
private var retrofit: Retrofit?=null
var gson = GsonBuilder()
.setLenient()
.create()
fun konekRetrofit2(): Retrofit? {
if (retrofit==null){
retrofit= Retrofit.Builder()
.baseUrl(baseURL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build()
}
return retrofit
}
}
数据类
data class DataModel (
val id:Int,
val name:String,
val alamal:String,
val telepon:String
)
data class ResponseModel (
val kode:Int,
val pesan:String,
val data:List<DataModel>
)
MySql当前的简单信息来自响应。正文()。
[DataModel(id=1, name=abc, alamal=cde, telepon=123),
DataModel(id=4, name=adc, alamal=111, telepon=222)]
此响应来自您的服务器[数据模型(id=1,name=abc,alamal=cde,telepon=123),数据模型(id=4,name=adc,alamal=111,telepon=222)]所以您为api设置了可序列化的响应必须是这样的
interface APIinsertData {
@FormUrlEncoded
@POST("insert.php")
open fun insertData(
@Field("name")name:String,
@Field("alamal")alamal:String,
@Field("telepon")telepon:String
): Call<List<DataModel>>?
}
像上面这样的更改insertData响应可以正常工作
这个错误是什么?我怎样才能解决这个问题?我的应用程序正在运行,但无法加载数据。这是我的错误:使用JsonReader.setLenient(true)在第1行第1列路径$接受格式错误的JSON 这是我的片段: 请求接口: 总是这个错误不是关于你的json,它可能来自你的错误请求,为了更好地处理,首先在邮递员中检查你的请求,如果你得到了响应,然后将你的json响应与你的模型进行比较,如果没有错误,那
当我尝试访问我的Web服务,在onFailure我得到在LogCat. i可以从POSTMAN得到响应 这是邮差的回复 在线更新 方法 PHP服务响应 UpdateOrderResponse模块类 使现代化 我添加了以进行改装。就像下面 然后得到另一个错误在它是
我试图将数据发布到API,但出现以下错误: 使用JsonReader。setLenient(true)在第1行第1列路径接受格式错误的JSON$ 有人知道怎么解决这个问题吗? 在活动中发布数据的代码 Api接口。JAVA 邮寄ist.java API应该返回
试图使用Refundation以JSON格式发送信息,但它进入Refundation的方法并抛出以下错误: 到目前为止,我已经尝试使用以下链接中的答案来解决这个问题:1)改型API异常?2) 使用JsonReader。setLenient(true)在第1行第1列路径接受格式错误的JSON$ 这是我的代码: 改装接口: 与连接相关的主要活动: 用户类别: 服务器端希望JSON如下所示: 我知道st
我正在尝试为我的应用程序创建忘记密码脚本。当我运行我的apk并尝试保留我的密码时,我得到了一个错误,上面写着使用JsonReader。setLenient(true)要在第1行第1列路径$Error处接受格式错误的JSON,我的apk中一切正常,我可以登录、注销或注册,但当我重置密码时,我得到了JsonReader。设置宽容(真)错误。我的apk json正在工作,它是正确的。请帮帮我。我在分享我
我正在从api struct获取数据时出现了此错误。我查阅了许多网站,以供参考,但我没有得到适当的解决方案 Api接口。JAVA 主要活动。JAVA 这是json数据 错误堆栈