在Java中是否有办法构建JSONObject而不必处理异常?目前我正在使用默认构造函数,但这会强制我在代码中放置try / catch块。因为在其余的代码中我使用" opt" get的版本,检查返回值是否为null,有没有办法以相同的方式构建对象? (也就是说,某种构造函数如果不能从字符串构建json那么返回null。)
示例:
try {
JSONObject temp = new JSONObject(someString);
} catch (JSONException e) {
e.printStackTrace();
}
我想做什么:
JSONObject temp = ??????(someString);
if(temp != null) {...}
答案 0 :(得分:3)
您需要手动创建方法,因为任何解析器很可能会抛出一个或另一个Exception
以防出现任何差异。尝试这样的事情: -
public JSONObject verifyJSON(String inputString){
JSONObject temp;
try {
temp = new JSONObject(someString);
} catch (JSONException e) {
temp = null;
e.printStackTrace();
}
return temp;
}
然后你可以这样做: -
JSONObject temp = verifyJSON(someString);
if(temp != null) {...}