生成和解析json

用的是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("**********");
    }   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值