当前位置:首页 > 数据开放 > 数据开放规范
数据开放规范
  本平台是“福田政府在线”网站根据现有的资源情况进行的数据共享平台。目前从服务机构、企业服务、执法信息及城市日历等四个方面对进行应的数据开放。开放方式采用json数据规范,适合各种开发语言进行相应的调用,从而方便用户快速使用数据。如果您需要更多的其他数据,请发邮件至data@szft.gov.cn,如网站具备相应数据,核审通过后,我们将以邮件的方式告之相应数据的调用地址。本平台开放的数据经过http://www.bejson.com/在线解析,符合调用规范。
  下面以java语言为例(json-lib方式),说明调用json相关规范,其他语言请参照使用。
  一、介绍:
  JSON-lib包是一个beans,collections,maps,java arrays和XML和JSON互相转换的包,主要就是用来解析Json数据,欲知更多,请参考官网:http://www.json.org/
  二、下载jar依赖包:
  Json-lib-versionx.jar
  三、调用方法:

  package com.json;
  import java.util.ArrayList; 
  import java.util.HashMap; 
  import java.util.List; 
  import java.util.Map;  
  import net.sf.json.JSONArray; 
  import net.sf.json.JSONObject;  
  /**  
  * 使用json-lib构造和解析Json数据  
  *   
  *  
  */
   public class JsonTest {      
  /**      
  * 构造Json数据      
  *       
  * @return      
  */     
  public static String BuildJson() {         
     // JSON格式数据解析对象         
     JSONObject jo = new JSONObject();          
     // 下面构造两个map、一个list和一个Employee对象         
     Map<String, String> map1 = new HashMap<String, String>();         
     map1.put("name", "Alexia");         
     map1.put("sex", "female");         
     map1.put("age", "23");          
     Map<String, String> map2 = new HashMap<String, String>();         
     map2.put("name", "Edward");        
     map2.put("sex", "male");        
     map2.put("age", "24");          
     List<Map> list = new ArrayList<Map>();         
     list.add(map1);         
     list.add(map2);          
     Employee employee = new Employee();         
     employee.setName("wjl");         
     employee.setSex("female");         
     employee.setAge(24);          
     // 将Map转换为JSONArray数据         
     JSONArray ja1 = JSONArray.fromObject(map1);         
     // 将List转换为JSONArray数据         
     JSONArray ja2 = JSONArray.fromObject(list);         
     // 将Bean转换为JSONArray数据         
     JSONArray ja3 = JSONArray.fromObject(employee);          
     System.out.println("JSONArray对象数据格式:");         
     System.out.println(ja1.toString());         
     System.out.println(ja2.toString());         
     System.out.println(ja3.toString());          
     // 构造Json数据,包括一个map和一个Employee对象         
     jo.put("map", ja1);         
     jo.put("employee", ja2);         
     System.out.println("\n最终构造的JSON数据格式:");         
     System.out.println(jo.toString());          
     return jo.toString();      
  }      
  /**      
  * 解析Json数据      
  *       
  * @param jsonString Json数据字符串      
  */     
  public static void ParseJson(String jsonString) {          
       // 以employee为例解析,map类似         
       JSONObject jb = JSONObject.fromObject(jsonString);         
       JSONArray ja = jb.getJSONArray("employee");          
       List<Employee> empList = new ArrayList<Employee>();          
       // 循环添加Employee对象(可能有多个)         
       for (int i = 0; i < ja.size(); i++) {
               Employee employee = new Employee();
                employee.setName(ja.getJSONObject(i).getString("name"));
               employee.setSex(ja.getJSONObject(i).getString("sex"));
               employee.setAge(ja.getJSONObject(i).getInt("age"));
                empList.add(employee);
           }
            System.out.println("\n将Json数据转换为Employee对象:");
           for (int i = 0; i < empList.size(); i++) {
               Employee emp = empList.get(i);
               System.out.println("name: " + emp.getName() + " sex: "
                       + emp.getSex() + " age: " + emp.getAge());
           }
        }      
  /**      
  * @param args      
  */     
  public static void main(String[] args) {         
  // TODO Auto-generated method stub
            ParseJson(BuildJson());
       }
    }