android-尝试使用Retrofit在没有正文的情况下进行POST失败,并出现GSON解析异常

android-尝试使用Retrofit在没有正文的情况下进行POST失败,并出现GSON解析异常,第1张

概述我正在与RESTAPI集成,因此正在使用Retrofit.我需要点击的网址是:http://{{server}}/api/v1/stuff/{{id}}/停用我创建了一个实现API的接口:@PUT("/api/v1/stuff/{id}/deactivate")Stringdeactivate(@Path("id")Stringid);问题是当我调用该方法失败时,出现以下堆栈

我正在与REST API集成,因此正在使用Retrofit.我需要点击的网址是:

http:// {{server}} / API / v1 / stuff / {{ID}} /停用

我创建了一个实现API的接口:

@PUT("/API/v1/stuff/{ID}/deactivate")String deactivate(@Path("ID") String ID);

问题是当我调用该方法失败时,出现以下堆栈跟踪:

E/AndroIDRuntime( 3046): Caused by: retrofit.converter.ConversionException: com.Google.gson.JsonSyntaxException: com.Google.gson.stream.MalformedJsonException: Use JsonReader.setLenIEnt(true) to accept malformed JsON at line 1 column 15  E/AndroIDRuntime( 3046):        at retrofit.converter.GsonConverter.fromBody(GsonConverter.java:67)    E/AndroIDRuntime( 3046):        at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:393) E/AndroIDRuntime( 3046):        ... 11 more E/AndroIDRuntime( 3046): Caused by: com.Google.gson.JsonSyntaxException: com.Google.gson.stream.MalformedJsonException: Use JsonReader.setLenIEnt(true) to accept malformed JsON at line 1 column 15   E/AndroIDRuntime( 3046):        at com.Google.gson.Gson.assertFullConsumption(Gson.java:779) E/AndroIDRuntime( 3046):        at com.Google.gson.Gson.fromJson(Gson.java:769)   E/AndroIDRuntime( 3046):  at retrofit.converter.GsonConverter.fromBody(GsonConverter.java:63) E/AndroIDRuntime( 3046):        ... 12 more E/AndroIDRuntime( 3046): Caused by: com.Google.gson.stream.MalformedJsonException: Use JsonReader.setLenIEnt(true) to accept malformed JsON at line 1 column 15 E/AndroIDRuntime( 3046):        at com.Google.gson.stream.JsonReader.SyntaxError(JsonReader.java:1505) E/AndroIDRuntime( 3046):        at com.Google.gson.stream.JsonReader.checkLenIEnt(JsonReader.java:1386) E/AndroIDRuntime( 3046):        at com.Google.gson.stream.JsonReader.doPeek(JsonReader.java:531) E/AndroIDRuntime( 3046):        at com.Google.gson.stream.JsonReader.peek(JsonReader.java:414) E/AndroIDRuntime( 3046):        at com.Google.gson.Gson.assertFullConsumption(Gson.java:775) E/AndroIDRuntime( 3046):        ... 14 more

我认为这是由于我没有在体内张贴任何东西引起的.解决此问题的最佳方法是什么?

注意:我已经成功使用POSTMan来调用API.

解决方法:

使用以下命令打开完整调试:

setLogLevel(RestAdapter.LogLevel.FulL)

并发现由于从服务器返回的格式错误的JsON而发生了Gson解析错误.我与服务器人员进行了“交谈”以解决问题.

对不起,空着身子的红鲱鱼发出了念头.我想我忘记了相关性并不表示因果关系.

总结

以上是内存溢出为你收集整理的android-尝试使用Retrofit在没有正文的情况下进行POST失败,并出现GSON解析异常全部内容,希望文章能够帮你解决android-尝试使用Retrofit在没有正文的情况下进行POST失败,并出现GSON解析异常所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1077082.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存