首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >改进2:从响应体获取JSON

改进2:从响应体获取JSON
EN

Stack Overflow用户
提问于 2016-12-05 19:50:25
回答 14查看 230.2K关注 0票数 71

我想使用retrofit 2从我的api中获得string json,当我使用retrofit 1获得这个json时没有问题,但是使用retrofit 2为我返回null

这是我的json的样子。

代码语言:javascript
复制
{"id":1,"Username":"admin","Level":"Administrator"}

这是我的API

代码语言:javascript
复制
@FormUrlEncoded
@POST("/api/level")
Call<ResponseBody> checkLevel(@Field("id") int id);

下面是我的代码的样子

代码语言:javascript
复制
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) {
            }
        });

我刚开始使用改进2,使用上面的代码,它总是使我的应用程序崩溃,因为response.body().toString()返回空。

请指导我如何获得json字符串,以便我可以将其转换为JsonObject。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40973633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档