json格式生成

要对 arcgis server rest api做一下封装,要求XML格式和JSON格式的数据格式。顺便研究了一下json生成格式,做了一下总结。

 

public  classJsonTest {
 
    public static  void main(String[] args) {
        
       String data = "{}"; 
        JSONObject jsonObj = JSONObject.fromObject(data); 
         
        //1.put基本类型值 
        int i=0; 
        for(i=0; i<5; i++){ 
            jsonObj.put("id"+i, i); 
        } 
        System.out.println(jsonObj.toString()); 
         
        //2.put一个JSONObject对象 
        JSONObject obj1 = JSONObject.fromObject(data); 
        for(i=0; i<5; i++){ 
            obj1.put("child"+i, i); 
        } 
        jsonObj.put("JSONObject", obj1); 
        System.out.println(jsonObj.toString()); 
         
        //3.put数组 
        String[] strArr = new String[]{"加","数","组"}; 
        jsonObj.put("arr", strArr); 
        System.out.println(jsonObj.toString()); 
         
        //4.put List 
        List<String> list = new ArrayList<String>(); 
        list.add("加"); 
        list.add("列"); 
        list.add("表"); 
        jsonObj.put("list", list); 
        System.out.println(jsonObj.toString()); 
         
        //5.put Set 
        Set<String> set = new HashSet<String>(); 
        set.add("加"); 
        set.add("集"); 
        set.add("合"); 
        jsonObj.put("set", set); 
        System.out.println(jsonObj.toString()); 
         
        //6.put Map 
        Map<String,Object> map =new HashMap<String, Object>(); 
        map.put("map1","加"); 
        map.put("map2","映"); 
        map.put("map3","射"); 
        jsonObj.put("map", map); 
        System.out.println(jsonObj.toString()); 
         
        //7.putAll Map 
        jsonObj.putAll(map); 
        System.out.println(jsonObj.toString()); 
         
        //8.组合: (返回的结果value是一个对象数组)  
        List<JSONObject> jlist =new ArrayList<JSONObject>(); 
        JSONObject j = null; 
        for(i=0; i<3; i++){ 
            j = JSONObject.fromObject(data); 
            j.put("aaaa"+i, i); 
            j.put("bbbb"+i, i); 
            j.put("cccc"+i, i); 
            jlist.add(j); 
        } 
        jsonObj.put("succList", jlist); 
        System.out.println(jsonObj.toString()); 
         
        //9.组合 : (返回的结果value是一个对象数组,对象的某个属性又是一个对象(嵌套))  
        List<JSONObject> jlist1 =new ArrayList<JSONObject>(); 
        for(i=0; i<3; i++){ 
            j = JSONObject.fromObject(data); 
            j.put("xxxx"+i, i); 
            j.put("yyyy"+i, i); 
            j.put("zzzz"+i, obj1); //obj1对象
            jlist1.add(j); 
        } 
        jsonObj.put("failList", jlist1); 
        System.out.println(jsonObj.toString()); 
         
        //10.组合:可以任意嵌套 
        JSONObject superJson = JSONObject.fromObject(data); 
        superJson.put("super", jsonObj); 
        superJson.put("base","base"); 
        System.out.println(superJson.toString()); 
 
    }
 
}
 



看一下小程序:

 

publicclass jsonT {
 
     
    publicstaticvoid main(String[] args) {
        
       String data = "{}";
       String ids ="1,3";
       //RESPONSE
       JSONObject responseJson = JSONObject.fromObject(data);
      
       //FEATURES
       List<JSONObject> featurelist =new ArrayList<JSONObject>(); 
       JSONObject featureJson =  JSONObject.fromObject(data);
       JSONObject jObj =null;
       List<JSONObject> f2list =new ArrayList<JSONObject>(); ;
       if(ids !=null && !ids.equalsIgnoreCase("") ){
         String [] arrID = ids.split(",");
           for(int i=0;i<arrID.length;i++)
       { 
          
              jObj = JSONObject.fromObject(data);
              jObj.put("objectId",arrID[i]);
              jObj.put("success","true");
              f2list.add(jObj);
              featureJson.put("feature", f2list);
       }
       } 
        
        responseJson.put("RESPONSE", featureJson);
       
       responseJson.put("VERSION","1.0"); 
       System.out.println("JSON="+responseJson.toString());
    }
 
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值