从JSON读取时出现异常

时间:2011-09-19 14:45:33

标签: java json

我有这段代码

JSONObject obj;
try {
    obj = new JSONObject(readUrl("http://dleel.ps/ss.txt"));
    List<String> list = new ArrayList<String>();
    JSONArray array = obj.getJSONArray("data");

    for(int i = 0 ; i < array.length() ; i++) {
        if (array.getJSONObject(i).getString("link")!=null)
        System.out.println(array.getJSONObject(i).getString("link"));
    }
}

为什么我没有链接(JSONObject [“link”]未找到时会出现异常。),我应该在if条件中放入什么? 我尝试使用而不是getJSONArray,optJSONArray但是相同的

2 个答案:

答案 0 :(得分:10)

如果找不到密钥,则getString()方法抛出异常。 而是使用has()方法:

if (array.getJSONObject(i).has("link"))

答案 1 :(得分:1)

要测试密钥是否存在,

array.getJSONObject(i).has("link")