gpt4 book ai didi

android - Moshi改造错误: "Expected a string but was BEGIN_OBJECT"

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:51 26 4
gpt4 key购买 nike

我这样构建我的 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();

异常(exception)情况是:

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

我做错了什么?

最佳答案

我找到了解决方案:我的 api 接口(interface)需要有

@GET("/") Call<JsonObject> getString();

@GET("/") Call<String> getString();

原因是我模拟的是 JSON 响应,而不是普通字符串。

关于android - Moshi改造错误: "Expected a string but was BEGIN_OBJECT",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37010835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com