2016-08-20 5 views
1

これは重複する質問ではありません。 ネットワークタスク用にRetrofit 2.0とjsonを使用しています。 また、jsonを解析するためにGSONを使用していません。単純なJsonObjectとJsonArrayを使用してjson文字列からモデルオブジェクトを取得しています。 まず、上記のシナリオでどの改造コンバータを使用する必要があるか教えてください。Retrofit 2.0で応答としてjson stringを取得できませんでした。android

第2に、応答文字列としてjson文字列を取得できません。

私は2つのアプローチを試みました - アプローチ1 - 私は< Void>を呼び出しました。この場合、response.body()はステータスコードは200ですが、nullを返します。

アプローチ2 - 私は< ResponseBody>を呼び出しました。この場合、call.enqueueメソッドは 'onSuccess'ではなく 'failure method'を呼び出し、応答ボディもnullです。 この場合のステータスコードも200です。

retrofit 2.0からの応答としてjson文字列を取得する方法を提案してください。

答えて

3

VoidまたはResponseBodyの代わりにJsonObjectを使用する必要があります。あなたのコードは

Call<JsonObject> getCall = request.getDataCall(); 
getCall.enqueue(new Callback<JsonObject>() { 
    @Override 
    public void onResponse(Call<JsonObject> call, Response<JsonObject> response) { 

    } 

    @Override 
    public void onFailure(Call<JsonObject> call, Throwable t) { 

    } 
}); 

する必要があります:あなたはcom.google.gson.JsonObject

+0

感謝を使用していることを確認してください。その働き。また、ボイドとレスポンスボディをいつ使用するか教えてください。 –

+0

[これ](http://stackoverflow.com/questions/28970476/how-to-perform-a-delete-request-without-return-type-or-callback-retrofit)はあなたにそれについて明確なアイデアを与えることができます。 –

+0

私はそれを読んでいます。可能であればもう1つのヘルプ....この投稿に関して私を助けてください http://stackoverflow.com/questions/38877535/unable-to-parse-different-json-format-string-via-gson –

関連する問題