我收到一个 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/