如何找出 json 响应是 android 中的空 JSON 对象?

Posted

技术标签:

【中文标题】如何找出 json 响应是 android 中的空 JSON 对象?【英文标题】:How to find out json response is an empty JSON object in android? 【发布时间】:2020-01-25 16:51:18 【问题描述】:

我遇到了从服务器获取空 JSON 对象的问题。

如何确定来自服务器的 JSON 响应是 空 JSON 对象 其他? 我为它设置了jObject!=null 条件,但它不起作用。

这是我的代码:

JSONObject jObject = new JSONObject(response);

if (jObject!=null) 
    Toast.makeText(getApplicationContext(), R.string.successfull_unsubscribe, Toast.LENGTH_LONG).show();
    ShareData.saveData(getApplicationContext(), "simType", "null");
    ShareData.saveData(getApplicationContext(), "firstLaunch", "true");

    startActivity(new Intent(MainActivity2.this, WelcomeActivity.class));
    finish();

【问题讨论】:

你用的是哪个json库? 我使用 volley 库 【参考方案1】:

你可以试试长度检查或者toString。

例如:jObject.length() == 0

例如:jObject.toString().equals("")

【讨论】:

【参考方案2】:

您可以使用jObject.keys().hasNext()jObject.length() != 0

JSONObject jObject = new JSONObject(response);
if (jObject != null && jObject.length() != 0) 
    Toast.makeText(getApplicationContext(), R.string.successfull_unsubscribe, Toast.LENGTH_LONG).show();
    ShareData.saveData(getApplicationContext(), "simType", "null");
    ShareData.saveData(getApplicationContext(), "firstLaunch", "true");

    startActivity(new Intent(MainActivity2.this, WelcomeActivity.class));
    finish();

【讨论】:

以上是关于如何找出 json 响应是 android 中的空 JSON 对象?的主要内容,如果未能解决你的问题,请参考以下文章

android - 来自 Foursquare 的 JSON 请求后的空正文

如何在 kotlin 中通过 GSON lib 解析 JSON 时管理 android 应用程序的空值

Spyne:为啥我收到 json 请求的空响应?

如何从android中的php关联数组解析JSON响应?

尝试在 Android JSON 中的空对象引用上调用虚拟方法“int java.lang.String.length()”

在 Objective-C 中检查来自 Json 响应的空值