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并不一样,但原理相同