android中JSONObject的使用;

今天項目上要用json數據;看了點資料,而後完成了功能;學習習慣很重要,因此把他記錄下來;方便後面學習;java

要解析json須要使用到JSONObject  和JSONArraysjson

今天要解析的json數據的格式以下:{"succeed":true,"msg":"有新版本","body":{"creatTime":null,"describe":"asdf","id":1,"location":"/cardGod.apk","name":"asdfer","versionName":"1.0.0","versionNum":100}}數組

{
    "body": {
        "describe": "asdf",
        "id": 1,
        "location": "/cardGod.apk",
        "name": "asdfer",
        "versionName": "1.0.0",
        "versionNum": 100
    },
    "msg": "有新版本",
    "succeed": true
}

 

更具上面格式分析,創建一個javaBean代碼以下:網絡

public class UpdateInfo {
    private String msg;
    private boolean succeed;
    private Body body;
    public static class Body {
        public static String describe;
        public static int id;
        public static String location;
        public static String name;
        public static String versionName;
        public static String versionNum;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public boolean getSucceed() {
        return succeed;
    }
    public void setSucceed(boolean succeed) {
        this.succeed = succeed;
    }
    public Body getBody() {
        return body;
    }
    public void setBody(Body body) {
        this.body = body;
    }

}

經過獲得JSON字符串後,使用函數

JSONObject obj = JSONObject(String string);

 

的構造函數將字符串轉換成JSONObject對象;使用該對象的getString("succeed"); 獲得succeed的值;工具

obj.getString("succeed");

 最後,解析json的代碼以下:學習

 */
    public static UpdateInfo getUpdateInfo(int nowversion) throws IOException,
            JSONException {

        final Map<String, Object> params = new HashMap<String, Object>();
        params.put("version.versionNum", nowversion);

        JSONObject result = HttpConn.connPost(url, params); //這裏是工具類,從網絡中獲得數據後將其封裝成JSONObject對象;
        MyLog.log(url.toString() + "         params   " + nowversion);
        boolean boo = result.getBoolean("succeed");
        String str = result.getString("msg");
        String body = result.getString("body");
        if (boo) {
            return pareUpdateInfo(body);

        }
        return null;
    }

/**
     * 該方法用於解析獲得的json數組
     * 
     * @param json
     * @return UpdateInfo object
     * @throws JSONException
     * @throws Exception
     */
    public static UpdateInfo pareUpdateInfo(String json) throws JSONException {
        UpdateInfo infoObj = new UpdateInfo();

        JSONObject ja = new JSONObject(json);
        infoObj.getBody().describe = ja.getString("describe");
        infoObj.getBody().id = Integer.parseInt(ja.getString("id"));
        infoObj.getBody().location = ja.getString("location");
        infoObj.getBody().name = ja.getString("name");
        infoObj.getBody().versionName = ja.getString("versionName");
        infoObj.getBody().versionNum = ja.getString("versionNum");

        return infoObj;
    }
相關文章
相關標籤/搜索