《android 利用自帶技術解析json字符》

/**
     * 把對象轉化成Json字符串
     * @param serializable 傳進來的對象必須實現Serializable接口
     * @return Json字符串
     */
    public static String toJsonStr(Object obj){
        JSONObject object=new JSONObject();
        try {
            @SuppressWarnings("rawtypes")
            Class cls = obj.getClass();
            Field[] fs = cls.getDeclaredFields();
            for (int i = 0; i < fs.length; i++) {
                Field field = fs[i];//獲取一個屬性
                field.setAccessible(true); // 設置些屬性是能夠訪問的
                Object val =field.get(obj);//獲取當前屬性的值
                object.put( field.getName(), val);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "["+object.toString()+"]";
    }
    /**
     * 解析Json數據稱List<Map<String, Object>>形式
     * 
     * @param jsonString
     * @return
     */
    public static List<Map<String, Object>> jsonToListMap(String rsContent) {
        List<Map<String, Object>> rsList = new ArrayList<Map<String, Object>>();
        try {
            JSONArray jsonArray = new JSONArray(rsContent);
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                Map<String, Object> map = new HashMap<String, Object>();
                for (Iterator<?> iter = jsonObject.keys(); iter.hasNext();) {
                    String key = iter.next().toString();
                    String value = jsonObject.get(key).toString();
                    map.put(key, value);
                }
                rsList.add(map);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return rsList;
    }
相關文章
相關標籤/搜索