1. 程式人生 > >Android 對簡單的 json 解析

Android 對簡單的 json 解析

Android 解析 JSON

要解析 JSON 資料,首先得先拿到 JSON 資料,我拿到的資料是這樣的 {"msg":"請登陸","code":-999,"data":xxx}

1、使用JSONObject來解析JSON資料

    /**
     * JSON解析方法
     */
    protected void JSONAnalysis(String string) {
        JSONObject object = null;
        try {
            object = new JSONObject(string);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        /**
         * 在你獲取的string這個JSON物件中,提取所需要的資訊
         */
        String msg = object.optString("msg");
        String code = object.optString("code");
        String data = object.optString("data");

        weatherResult = "msg:" + msg + "\ncode:" + code + "\ndata:" + data;
        textView.setText(weatherResult);
    }

JSONObject object = new JSONObject(string);  將Json字串解析成Json物件。

2、解析Json陣列

JSONArray(String json);將json字串解析成json陣列;

private void JSONAnalysis(String JsonData) {
    try{
        JSONArray jsonArray = new JSONArray(jsonData);
        for (int i=0; i < jsonArray.length(); i++){
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            String id = jsonObject.getString("id");
            String name = jsonObject.getString("name");
            String version = jsonObect.getString("version");
 
            System.out.println("id" + id + ";name" + name + ";version" + version);
        }
    }catch (Exception e){
        e.printStackTrace();
    }
}

定義一個JSON陣列,用於將伺服器返回的資料傳入到一個JSONArray物件中; 然後迴圈遍歷這個JSONArray,從中取出每一個元素(JSONObject物件),接下來只需呼叫getString()方法即可將資料取出。

3、用Gson解析JSON

使用該方法解析JSON資料,首先需要新增GSON的jar包;