gpt4 book ai didi

java - 使用 JSONObject 调用改造。

转载 作者:太空狗 更新时间:2023-10-29 16:12:34 24 4
gpt4 key购买 nike

我必须从服务器发出获取请求,它会提供大量信息。从我发现的搜索结果来看,我似乎只能使用模型类来做到这一点。问题是为了涵盖服务器发送给我的所有响应,我必须创建 53 个模型类来存储信息。

我想知道是否有更简单的方法,比如将信息存储在 JSON 或其他东西中。

我正在使用 Retrofit 和 OKHttp。

getTimeSessionsCall.enqueue(new Callback<JSONObject>() {
@Override
public void onResponse(Call<JSONObject> call, Response<JSONObject> response) {

Log.i("getTimeSessions",Integer.toString(response.code()));

}

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

}
});

我试过这种调用,但它什么也没有存储。代码为 200,但 JSON 仍为空。

提前致谢!

最佳答案

JSONObject 为 null 的原因是 Retrofit 不知道如何解析您的响应。您可以做的是将响应作为字符串获取,然后从中构造一个 JsonObject。为此,您需要使用 ScalarConvertorsFactory 并且您的方法看起来像

getTimeSessionsCall.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {

// Get the string and convert to JSONObject

}

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

}
});

不要忘记添加

编译 'com.squareup.retrofit2:converter-scalars:2.1.0' 并在使用 addConvertorFactory(ScalarsConvertorFactory.create())< 构建 Retrofit 实例时添加转换器工厂

关于java - 使用 JSONObject 调用改造。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41570190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com