Android 在改型中发布JsonArray时,会自动在json中添加一些okhttp内容

Android 在改型中发布JsonArray时,会自动在json中添加一些okhttp内容,android,arrays,json,retrofit2,Android,Arrays,Json,Retrofit2,我需要一些帮助来通过Android中改进post方法中的jsonarray。 我在调用api时创建了一个pojo类List,当时我使用Gson()将这个pojo类转换为JSONArray,如下所示 JsonArray myCustomArray = new Gson().toJsonTree(ReportsArray).getAsJsonArray(); @FormUrlEncoded @POST(midURL) Call<Json> ReportsManagement(@Fie

我需要一些帮助来通过Android中改进post方法中的jsonarray。 我在调用api时创建了一个pojo类
List
,当时我使用Gson()将这个pojo类转换为JSONArray,如下所示

JsonArray myCustomArray = new Gson().toJsonTree(ReportsArray).getAsJsonArray();
 @FormUrlEncoded
@POST(midURL)
Call<Json> ReportsManagement(@Field(fClass) String classs,
                                    @Field(fMethod) String method,
                                    @Field(fType) String type,
                                    @Field(fUserID) String userID,
                                    @Field(fDate) String Date,
                                    @Field(fReportsArray) String ReportsArray,
                                    @Field(fEntryByUser) String EntryByUser);
然后我将这个jsonArray发布到像这样的改进post方法中

JsonArray myCustomArray = new Gson().toJsonTree(ReportsArray).getAsJsonArray();
 @FormUrlEncoded
@POST(midURL)
Call<Json> ReportsManagement(@Field(fClass) String classs,
                                    @Field(fMethod) String method,
                                    @Field(fType) String type,
                                    @Field(fUserID) String userID,
                                    @Field(fDate) String Date,
                                    @Field(fReportsArray) String ReportsArray,
                                    @Field(fEntryByUser) String EntryByUser);
@FormUrlEncoded
@POST(midURL)
调用ReportsManagement(@Field(fClass)字符串类,
@字段(fMethod)字符串方法,
@字段(fType)字符串类型,
@字段(fUserID)字符串用户ID,
@字段(fDate)字符串日期,
@字段(fReportsArray)字符串报告sarray,
@字段(fEntryByUser)字符串EntryByUser);
现在,当我调用api时,我已经在android studio logcat中的api中传递json数据时显示了一些问题

class=crud&method=ReportsManagement&Type=ADD&UserID=8&Date=2018-06-08&ReportsArray=[{“日期”:“08-06-2018”、“IV1”:“IV10”:“IV11”:“IV12”:“IV13”:“IV14”:“IV15”:“IV16”:“IV17”:“IV18”:“IV19”:“IV2”:“IV20”:“IV21”:“IV22”:“IV23”:“IV24”:“IV25”:“IV26”:“IV3”:“IV4”:“IV6”:“IV8”:“IV7”:“IV8”:“IV7”:“IV8”:,IV9:,“IVF:”,{“日期:”,“2018年6月8日”,“FIO2:”,“IV1:“,“IV10”%06-08:13:07.461 23291-23476/com.abc D/OkHttp:3A,“IV11:”,“IV12:“IV13:“IV14:“IV15:“IV16:“IV17:“IV18:“IV19:“IV2:“IV20:“IV21:”IV22:“IV23:“IV14:“IV4:“IV6:“IV6:“IV4:“IV6:“IV6:“IV4:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6:“IV6,IV8:“,”IV9:“,”IVF:“}]

json中的错误:%06-08 08:13:07.461 23291-23476/com.abc D/OkHttp:3A


这看起来像是混合日志。不用担心,但是对于这个混合日志,我没有从mysql端获得正确的数据。当我删除这个混合日志数据并在api中发送数据时,我在mysql端得到了正确的数据。这就是我需要解决这个问题的途径。如果你要发布json,你应该为post使用
@Body
注释,而不是
@Field
如何从
myCustomArray
ReportsArray
字符串?嗯,我从这个myCustomArray=new Gson()到jsontree(ReportsArray).getAsJsonArray();字符串jsonProfile=new Gson().toJson(myCustomArray);我已经在post方法中传递了记录,所以在服务器端将请求参数作为字符串获取,并将其转换为jsonArray,然后将数据保存到数据库中。