如何找出 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 应用程序的空值
尝试在 Android JSON 中的空对象引用上调用虚拟方法“int java.lang.String.length()”