php - Retrofit2 错误 : java. lang.IllegalStateException:应为 BEGIN_OBJECT 但在第 1 行第 1 列路径 $

标签 php android json retrofit2

我正在尝试将数组列表传递给 php 以执行一些操作。当我与 postman 一起测试时,我得到了以下回应..

{"correct_answers":"2","total_question":"5","message":"太好了!你需要至少获得 60% 的分数才能进入下一级别..", message_percentage":"40","saved_message":"成功"

enter image description here

但是当我尝试发送请求时我收到了这个错误..

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/

相关文章:

javascript - 如何使用 jQuery $.each 方法输出正确的 HTML?

使用更新的 Excel 格式 .xlxs 导入数据时出现 PHP EXCEL 问题

java - 流音频振幅的有源阵列

php - 执行 cURL 后的脚本不起作用。页面不断重新加载

android - 尽管我已按照文档中的步骤操作,但地点选择器(谷歌地图)会立即关闭

java - 我怎样才能把 'group'自定义类放在一起呢?

ios - 使用 Alamofire 快速更新配置文件时出错?

iOS 9.2 崩溃 [[CJSONDeserializer 反序列化器] deserializeAsDictionary :

php - 在php中合并两个数组

php - 使用来自内部联接的值更新列