android - 如何处理 json 对象的空响应

标签 android json

我收到一个 JSON 响应

{
"edges": [],
"nodes": []
}

如何检查对象是否有空值并处理这种情况??

JSONObject jobj = new JSONObject(line);
JSONArray jArray = jobj.getJSONArray("edges");
if(jArray.length()!=0)
{    
  for(int i=0;i<jArray.length();i++){
  JSONObject json_data = jArray.getJSONObject(i);
  x.add((float) json_data.getInt("x"));
  y.add((float) json_data.getInt("y"));
end

这会返回我:org.json.JSONException: end of input at character 0 of

最佳答案

试试这个:

String jsonString = "{ "edges": [], "nodes": [] }";

JSONObject jsonObject = new JSONObject(jsonString);

if( jsonObject.isNull("edges") == false) {
//do sth
}

if( jsonObject.isNull("nodes") == false) {
//do sth
}

您还可以通过 jsonObject.has("edges") 检查您的 json 中是否有一些特定的键

您正在将一些\line\变量传递给 JSONObject 构造函数。确保这个变量包含你的整个 json 字符串,就像我的例子中的这个,而不是像 "{"或 ' "edges": [] ' 也许问题出在你的 json 源中,就像评论中建议的 dokkaebi

关于android - 如何处理 json 对象的空响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731236/

相关文章:

android - 更改粗体 html 文本的文本颜色

javascript - 更改jsondata引用变量的方法

c# - 将 JSON 数据保存到 C# 自定义对象中

java - 使用 JacksonXML 将对象映射到子类

android - 无法使用 gradle 安装执行构建

android - 如何使用 App 点赞 Facebook 页面

android - C代码编译不正确

android - 在 Android 上的 Circle 上查找点

javascript - 如何将 HTML 表单输入插入 API 对象数组

python - 写入和打印产生不同的结果