2016-05-03 5 views
-1

私はこのような私のレトロフィットインスタンスを構築しました:モシレトロフィットエラー:「という文字列を期待したがBEGIN_OBJECTた」

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 $

は私が間違って何をしたのですか?

答えて

2

私は解決策を見つけた: 私のAPIインタフェースは、理由は私は、JSON応答をしませからかっていますということです

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

ませ

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

を持つことが必要プレーンストリング。

関連する問題