JSON使用详解

JAVA 方法和android下的JSON有所不同,依次介绍

JAVA 《==》 JSON

导入相关包

commons-beanutils.jar

commons-collections.jar

commons-lang.jar

commons-logging.jar

ezmorph-1.0.6.jar

json-lib-2.2.3-jdk15.jar

如果个别包没有导入就会报相应的错误,具体的包与错误的对应关系可以从我的另一篇文章中了解

用代码就可以清楚的明白用法:

ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
        Map<String,String> map = new HashMap<String,String>();
        map.put("name", "HANXING");
        map.put("age", "23");
        map.put("sex", "男");
        list.add(map);
        
        map = new HashMap<String,String>();
        map.put("name", "kqs");
        map.put("age", "23");
        map.put("sex", "男");
        list.add(map);

        JSONArray ja = JSONArray.fromObject(list);
        System.out.println(ja.toString());
        //[{"sex":"男","age":"23","name":"HANXING"},{"sex":"男","age":"23","name":"kqs"}]
        for(int i=0; i<ja.size(); i++) {
            JSONObject jo = ja.getJSONObject(i);
            System.out.println(jo);
            //i=0时: {"sex":"男","age":"23","name":"HANXING"}
            //i=1时: {"sex":"男","age":"23","name":"kqs"}
            System.out.println(jo.get("name"));
            //i=0时:HANXING
            //i=1时: kqs
        }


android 下:

android包中本身就存在JSON的相关类包,所以不需要额外导入

同样,用代码展示:

ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
        Map<String,String> map = new HashMap<String,String>();
        map.put("name", "HANXING");
        map.put("age", "23");
        map.put("sex", "男");
        list.add(map);
        
        map = new HashMap<String,String>();
        map.put("name", "kqs");
        map.put("age", "23");
        map.put("sex", "男");
        list.add(map);
        JSONArray jsonArray = null;
        try {
            jsonArray = new JSONArray(list.toString());
            String s = jsonArray.toString();
            //s: [{"sex":"男","name":"HANXING","age":23},{"sex":"男","name":"kqs","age":23}]
            for(int i=0;i<jsonArray.length(); i++) {
                JSONObject jo = jsonArray.getJSONObject(0);
                s = jo.toString();
                //i=0时,s:{"sex":"男","name":"HANXING","age":23}
                //i=1时,s:{"sex":"男","name":"kqs","age":23}
                s = jo.getString("name");
                //i=0时,s:HANXING
                //i=1时,s:name
            }
            
        } catch (JSONException e) {
            e.printStackTrace();
        }

通过代码比较,就可以发现JAVA,android下的JSON并不一样,但原理相同

原文地址:https://www.cnblogs.com/goldeneast/p/3375734.html