当前位置: 首页 > 知识库问答 >
问题:

改装不能获得json(android)

赵嘉纳
2023-03-14
private String userId;
    private String id;
    private String title;
    private String body;

//the getters and setters
public interface Links {
    @GET("/posts")
    Call<PostsS> getPosts();
}

而我的主要

 Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://jsonplaceholder.typicode.com")
                .build();

        Links service = retrofit.create(Links.class);
        Call<PostsS> call = service.getPosts();

        call.enqueue(new Callback<PostsS>() {
            @Override
            public void onResponse(retrofit2.Response<PostsS> response) {
                Log.e("responce", response.toString());
            }

            @Override
            public void onFailure(Throwable t) {
                Log.e("error", t.toString());
            }
        });

而且我有

Caused by: java.lang.IllegalArgumentException: Unable to create converter for class com.example.alexy.myapplication.PostsS
                                                     for method Links.getPosts

我的json

[
  {
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
  },
  {
    "userId": 1,
    "id": 2,
    "title": "qui est esse",
    "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
  }
]

共有1个答案

祁雪峰
2023-03-14

在改型2中,您必须显式指定要使用的转换器。例如。

 Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://jsonplaceholder.typicode.com")
                .addConverterFactory(GsonConverterFactory.create())
                .build();

你能当转换器吗。您还必须在build.gradle文件中添加依赖项。例如。

compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

尝试使用相同的-beta2来处理所有与reverfit2相关的内容。

编辑

相应地,对于您发布的JSON,您的方法应该返回

调用 > 而不是调用

 类似资料:
  • 如何将此Json响应转换为改装bean我得到了Gson错误,就像使用JsonReader一样。setLenient(true)在第1行第1列路径接受格式错误的JSON$ api调用为 字符串CATEGORY\u API=“”https://api.callingservice.com"; 请帮助我解决这个问题,如何将Json响应转换为Bean,我的Bean类如下

  • 在新的改型中,我正在打电话,并在响应和故障上覆盖两种方法。 如果对我的类模型进行了成功的解析响应改装,我可以得到简单的响应,但是如果(!response.issueccessful())我如何获得服务器响应呢? 我看到代码错误。原始反应。错误体。但没有看到来自服务器的响应。这是我的错误从服务器...如何从响应得到它?

  • 问题内容: 我正在尝试通过android应用程序中的改造连接到Rest服务。我正在得到回应。但是,当服务有一些错误响应时,就会发生转换异常,现在我想根据响应主体执行一些操作。但是我得到的响应主体为NULL。但是改造日志中有一条错误消息。为什么会这样。 码: 在这里,我得到的。不知道为什么 我是否需要使用rest适配器进行设置,以便将响应传递到改造错误对象。 问题答案: 试试这个代码: 与 Retr

  • 获得并应用修改 编译qemu还会用到的库文件有 libsdl1.2-dev 等。安装命令如下: sudo apt-get install libsdl1.2-dev # 安装库文件 libsdl1.2-dev 获得 qemu 的安装包以后,对其进行解压缩(如果格式无法识别,请下载相应的解压缩软件)。 例如 qemu.tar.gz/qemu.tar.bz2 文件,在命令行中可以使用: tar

  • 问题内容: 我和猫鼬在一起的行为很奇怪。当我得到结果对象时,我看到该属性在这里,但是当我尝试仅获得所需的值时,它返回未定义。 奇怪的是,如果我使用该方法,它将起作用。我肯定错过了什么。有人对此有解释吗? 问题答案: 当MongoDB文档中存在字段但未在Mongoose模式中定义字段时,就会发生这种情况。 因此,请确保在您的架构中将其定义为 或者,即使未在架构中定义它也要访问它,请使用以下方法: