android–Moshi Retrofit错误:“预期字符串但是BEGIN_OBJECT”

android–Moshi Retrofit错误:“预期字符串但是BEGIN_OBJECT”,第1张

概述我像这样构建了我的Retrofit实例:Retrofitretrofit=newRetrofit.Builder().baseUrl(server.url("/")).addConverterFactory(MoshiConverterFactory.create(moshi)).build();然后我这样调用我的MockWebServer实例:server.enqueue(ne

我像这样构建了我的Retrofit实例:

Retrofit retrofit = new Retrofit.Builder()            .baseUrl(server.url("/"))            .addConverterFactory(moshiConverterFactory.create(moshi))            .build();

然后我这样调用我的MockWebServer实例:

server.enqueue(new MockResponse().setbody(JsonStr));

JsonStr的构建方式如下:

MyModel model = new MyModel("HOME", "AWAY", "ENTERTAIN", "NIGHT", "MUTE",            "VolUME", "SCENE 1", "SCENE 2", "SCENE 3");JsonAdapter<MyModel> JsonAdapter = moshi.adapter(MyModel.class).toJson(model);

但是,代码崩溃了:

Response response = API.getString().execute();

例外是:

com.squareup.moshi.JsonDataException: Expected a string but was BEGIN_OBJECT at path $

我做错了什么?

解决方法:

我找到了解决方案:
我的API界面需要

@GET(“/”)调用< JsonObject>的GetString();

@GET(“/”)调用< String>的GetString();

原因是我在模拟JsON响应,而不是普通的String.

总结

以上是内存溢出为你收集整理的android – Moshi Retrofit错误:“预期字符串但是BEGIN_OBJECT”全部内容,希望文章能够帮你解决android – Moshi Retrofit错误:“预期字符串但是BEGIN_OBJECT”所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1116197.html

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

发表评论

登录后才能评论

评论列表(0条)

保存