我正在尝试将数组列表传递给 php 以执行一些操作。当我与 postman 一起测试时,我得到了以下回应..
{"correct_answers":"2","total_question":"5","message":"太好了!你需要至少获得 60% 的分数才能进入下一级别..", message_percentage":"40","saved_message":"成功"
但是当我尝试发送请求时我收到了这个错误..
java.lang.IllegalStateException:应为 BEGIN_OBJECT 但在第 1 行第 1 列路径 $ 中为 STRING
这是我的接口(interface)
@POST("问题.php")
@FormUrlEncoded
Call<QuestionResult> correctQuestionData(@Field("tag") String tag, @Field("str_question_answer[]") ArrayList<QuestionAnswers> str_question_answer,
@Field("student_id") String student_id, @Field("level") String level);
最佳答案
问题是 Gson 期待一个对象,但收到的是一个字符串,这是因为格式> 的 JSON 可能是错误的。 JSON 必须以
开头{
请检查 JSON 格式。
编辑: 查看查询的参数,我认为您正在发送其他参数而不是您在 postman 中输入的参数,并且服务器使用字符串而不是 JSON 进行响应
关于php - Retrofit2 错误 : java. lang.IllegalStateException:应为 BEGIN_OBJECT 但在第 1 行第 1 列路径 $,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468054/