Android如何解析json字符串

liuzhen007 等级 155 0 0

前言

上一篇文章介绍了服务器用Golang如何解析json字符串,今天我们来看看Android客户端是如何解析json字符串的。

正文

Golang如何解析post请求中的json字符串

使用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();
}

除了上述的方法,当然还有更好的写法。

结论

通过这个例子,阐述一个深刻的道理:代码没有最好,只有更好,我们应该尽可能追求完美的代码!

收藏
评论区