chcę uzyskać ciąg json z mojego API używając modernizację 2, nie mam problemu podczas korzystania doposażenia 1 otrzymaj json, ale stosując modernizacyjny 2 powroty zerowe dla mnie.Modernizacja 2: Get JSON z ciała Response
To właśnie moja json wygląda
{"id":1,"Username":"admin","Level":"Administrator"}
To mój API
@FormUrlEncoded
@POST("/api/level")
Call<ResponseBody> checkLevel(@Field("id") int id);
ten sposób mój kod wygląda
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Config.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Api api = retrofit.create(Api.class);
Call<ResponseBody> call = api.checkLevel(1);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
JsonObject post = new JsonObject().get(response.body().toString()).getAsJsonObject();
if (post.get("Level").getAsString().contains("Administrator")) {
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
Jestem nowy modernizacja 2 i używanie powyższego kodu powoduje zawsze awarię moich aplikacji, ponieważ response.body().toString()
zwraca wartość null.
Proszę, poprowadź mnie, jak uzyskać ciąg JSON, aby przekonwertować go na JsonObject.
spojrzeć http://stackoverflow.com/questions/21398598/how-to-post- raw-whole-json-in-the-body-of-a-retrofit-request/36821182 # 36821182 – TommySM