使用java语句如何正确解析json字符串,举一个例子,我们从rtc_info字符串中解析出参数token,最简单的做法:
String info = jsonObj.getString("rtc_info");
JSONObject jObj = new JSONObject(info);
token = jObj.getString("token");
稍微有经验的人会这样写,这是一种以防万一的做法:
try {
String info = jsonObj.getString("rtc_info");
JSONObject jObj = new JSONObject(info);
token = jObj.getString("token");
} catch (JSONException e) {
e.printStackTrace();
}
但方法二也是存在缺陷的,其实更好的写法是这样,在解析一个参数之前,应该先判断它是否存在:
try {
String info = jsonObj.getString("rtc_info");
JSONObject jObj = new JSONObject(info);
if (!jObj.has("token")) {
showToast("Failed to got token!");
return;
} else {
token = jObj.getString("token");
}
} catch (JSONException e) {
e.printStackTrace();
}
除了上述的方法,当然还有更好的写法,这里只是简单阐述一个道理:尽可能追求完美的代码!