我相信在使用序列化的JSON数据调用服务时,它会为键值对添加额外的斜杠,这是Retrofit。 我有一个哈希映射对象作为多部分字符串传递,我正在使用Gson将其转换为JSON字符串。
public static String getJsonString(Object object) {
gson = new Gson();
jsonString = gson.toJson(object);
return jsonString;
}
我有像
这样的改造生成器Retrofit.Builder()
.baseUrl(path)
.addConverterFactory(GsonConverterFactory.create())
.client(trustCert(context))
.build();
将JSON数据传递为
Call<ResponseBody> responseBodyCall = ApiClient.getInstance(context).getApiService().uploadData(getJsonString(params));
Api界面:
@Multipart
@POST("upload")
Call<ResponseBody> uploadData(@Part("data") String data);
当我们在服务器端调试时,收到的json数据中有额外的斜杠。例如,它应该像\“{\”key1 \“,\”value \“} \”但它被序列化为\\“{\\”key1 \\“,\\”value \\“ } \\”。我在api调用之前放了一个断点,数据都很好,但在服务器端它很奇怪。