android - 当我在改造中使用 JsonObject 时,响应为 Null

标签 android web-services retrofit retrofit2

当我在改造中使用 JsonObject 作为响应时,我的输出是:response: {}

这是我的 JsonObject 响应代码:

mCall=apiService.Check_App_Version("api/check-app-version/1/"+Utility.Get_App_Version(context));
        mCall.enqueue(new Callback<JSONObject>() {
            @Override
            public void onResponse(Call<JSONObject> call, Response<JSONObject> response) {
                Log.e("response",""+response.body().toString()+" "+response.code());

            }
            @Override
            public void onFailure(Call<JSONObject> call, Throwable t) {
                Log.e("ERROR",t.toString());
            }
        });

但是当我在改造中使用 Object 作为响应时,我的输出是:

response: {data=[{result=1.0, is_necessary=0.0}]}

这里是代码:

mCall=apiService.Check_App_Version("api/check-app-version/1/"+Utility.Get_App_Version(context));
        mCall.enqueue(new Callback<Object>() {
            @Override
            public void onResponse(Call<Object> call, Response<Object> response) {
                Log.e("response",""+response.body().toString()+" "+response.code());

            }
            @Override
            public void onFailure(Call<Object> call, Throwable t) {
                Log.e("ERROR",t.toString());
            }
        });

我想将其用作 JsonObject。我的错误在哪里?

最佳答案

请使用 GsonConverterFactory 在您想要的对象中获取已解析的响应,如果您希望使用 Retrofit 进行字符串响应,请使用 ScalarsConverterFactory。您可以同时添加这两个工厂。

OkHttpClient client = new OkHttpClient.Builder().connectTimeout(3, TimeUnit.MINUTES)
            .writeTimeout(3, TimeUnit.MINUTES)
            .readTimeout(3, TimeUnit.MINUTES).addInterceptor(interceptor).build();

    if (retrofit == null) {
        String baseUrl = "http://example.com/";
        retrofit = new Retrofit.Builder()
                .baseUrl(baseUrl)
                .addConverterFactory(GsonConverterFactory.create())
                .addConverterFactory(ScalarsConverterFactory.create())
                .client(client)
                .build();
    }

关于android - 当我在改造中使用 JsonObject 时,响应为 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43995346/

相关文章:

php - 我需要有关创建 .wsdl 文件的帮助 - 需要多个函数!

web-services - maven jax-ws 插件不会从 wsdl 生成客户端类

android - Retrofit 2 下载图像并保存到文件夹

java - 另一个注释处理器使用的生成类

android - 防止后退按钮取消 DialogFragment

android - Gradle 构建未执行,因为找不到 cache.properties

android - 改造 1.6 : Call RestService with different (TCP)-Ports

安卓。图片按钮。如何旋转按钮上的图像。不是整个按钮

c# - WCF 单一身份验证多端点

android - 获取AndroidRuntime : FATAL EXCEPTION: DefaultDispatcher-worker-1 with no other stack trace