用的是org.json.jar这个jar包 不用加依赖包 就这一个就够了 不像json-lib.jar还要加一堆jar包
//生成json
public static String createjson() throws JSONException{
JSONObject json=new JSONObject();
JSONArray jsondate = new JSONArray();
JSONObject jdate1 = new JSONObject();
jdate1.put("date1", "zhangfan");
jdate1.put("date2", "userpass");
jdate1.put("date3","10371443@qq.com");
jdate1.put("date4", "2007-06-12");
jsondate.put(jdate1);
JSONObject jdate2 = new JSONObject();
jdate2.put("date1", "zf");
jdate2.put("date2", "userpass");
jdate2.put("date3","8223939@qq.com");
jdate2.put("date4", "2008-07-16");
jsondate.put(jdate2);
json.put("dates", jsondate);
return json.toString();
}
//解析json
public static void jsonTest2() throws JSONException{
//读取createjson生成的json字符串
String jsonString=createjson();
JSONObject json= new JSONObject(jsonString);
JSONArray jsonArray=json.getJSONArray("dates");
//存每次读取时的数据
String date1 = "";
String date2 = "";
String date3 = "";
String date4 = "";
//存所有数据 用于方便输出的时候看数据
String date11 = "";
for(int i=0;i<jsonArray.length();i++){
JSONObject js=(JSONObject) jsonArray.get(i);
date1 = (String)js.get("date1");
date2 = (String)js.get("date2");
date3 = (String)js.get("date3");
date4 = (String)js.get("date4");
if(jsonArray.length()==1){
//json里面只有一组数据
date11+=date1+","+date2+","+date3+","+date4;
}else if(i==jsonArray.length()-1){
//json里面最后一组数据
date11+=date1+","+date2+","+date3+","+date4;
}else{
//json里面不有一组数据 而且不是最后一组数据时 date11后面加---- 用于分隔开两组数据
date11+=date1+","+date2+","+date3+","+date4+" ---- ";
}
}
System.out.println("**********");
System.out.println(date11);
System.out.println("**********");
}