1. 程式人生 > >違章查詢免費api接口代碼

違章查詢免費api接口代碼

實體類 禁止 ngx dsm req tostring tail pop urn

能夠依據城市+車牌號+發動機號查詢違章信息列表。

違章實體類

package org.wx.xhelper.model;

/**
 * 違章實體類
 * @author wangxw
 * @version 1.0
 * @date Jul 11, 2014 3:25:34 PM
 */
public class ViolRegu {

	// 違章時間
	private String date;
	
	// 違章地點
	private String area;
	
	// 違章行為
	private String act;
	
	// 違章扣分
	private String fen;
	
	// 違章罰款
	private String money;
	
	// 是否處理
	private String handled;

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public String getAct() {
		return act;
	}

	public void setAct(String act) {
		this.act = act;
	}

	public String getFen() {
		return fen;
	}

	public void setFen(String fen) {
		this.fen = fen;
	}

	public String getMoney() {
		return money;
	}

	public void setMoney(String money) {
		this.money = money;
	}

	public String getHandled() {
		return handled;
	}

	public void setHandled(String handled) {
		this.handled = handled;
	}
}


違章查詢服務接口類

package org.wx.xhelper.service;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.wx.xhelper.model.ViolRegu;
import org.wx.xhelper.util.CitysUtil;
import org.wx.xhelper.util.HttpRequestUtil;

/**
 * 違章查詢服務接口類
 * @author wangxw
 * @version 1.0
 * @date Jul 11, 2014 3:29:16 PM
 */
public class ViolReguService {
	
	/**
	 * 生成違章信息
	 * @param cityName
	 * @param carNo
	 * @param engineNo
	 * @return 返回違章信息
	 * @throws UnsupportedEncodingException
	 */
	public static String getViolReguDetail(String cityName,String carNo,String engineNo) throws UnsupportedEncodingException{
		// 獲取違章信息列表
		List<ViolRegu> violregulist = getViolReguInfo(cityName,carNo,engineNo);
		
		// 存儲文本信息
		StringBuffer news = new StringBuffer();
		
		if (violregulist != null && violregulist.size() > 0) {
			for(int i=0;i<violregulist.size();i++){
				news.append("違章時間:"+violregulist.get(i).getDate()).append("\n");
				news.append("違章地點:"+violregulist.get(i).getArea()).append("\n");
				news.append("違章行為:"+violregulist.get(i).getAct()).append("\n");
				news.append("違章扣分:"+violregulist.get(i).getFen()).append("\n");
				news.append("違章罰款:"+violregulist.get(i).getMoney()).append("\n");
				news.append("處理狀態:"+violregulist.get(i).getHandled()).append("\n\n");
			}
		}
		
		if(news.length() == 0){
			news.append("沒有相關的違章信息,請又一次輸入!");
		}
		
		return news.toString();
	}
	
	/**
	 * 獲取違章信息列表
	 * @param cityName
	 * @param carNo
	 * @param engineNo
	 * @return
	 */
	public static List<ViolRegu> getViolReguInfo(String cityName,String carNo,String engineNo){
		
		// 存放違章信息列表
		List<ViolRegu> list = new ArrayList<ViolRegu>();
		
		try{
			// 獲取城市簡拼
			String city = CitysUtil.getSimpSpell(cityName);
			
			// 獲取json串
			String json = HttpRequestUtil.HttpRequest("http://apis.haoservice.com/weizhang/query?city="+URLEncoder.encode(city, "utf-8")
					+"&hphm="+URLEncoder.encode(carNo, "utf-8")
					+"&hpzl=02&engineno="+URLEncoder.encode(engineNo, "utf-8")
					+"&key=keyvalue");
			
			JSONObject jsonObject = JSONObject.fromObject(json);
			
			JSONObject jsonResult = JSONObject.fromObject(jsonObject.get("result"));
		
			JSONArray listsArray = jsonResult.getJSONArray("lists");
			
			// 封裝數據到列表
			for(int i=0;i<listsArray.size();i++){
				HashMap<String, String> map = new HashMap<String, String>();
				ViolRegu violRegu = new ViolRegu();
				
				JSONObject futurnObject = JSONObject.fromObject(listsArray.getJSONObject(i));   
				Iterator iterator = futurnObject.keys();   
				while (iterator.hasNext()) {   
				     String key = String.valueOf(iterator.next());   
				     String value = (String) futurnObject.get(key);   
				     map.put(key, value);   
				} 
				
				violRegu.setDate(map.get("date")); // 違章時間
				violRegu.setArea(map.get("area")); // 違章區域
				violRegu.setAct(map.get("act"));   // 違章行為
				violRegu.setFen(map.get("fen"));   // 違章扣分
				violRegu.setMoney(map.get("money")); // 違章罰款
				violRegu.setHandled(map.get("handled")); // 是否處理
				
				list.add(violRegu);
			}
			
		}catch(Exception e){
			e.printStackTrace();
		}
		return list;
	}
}


查詢結果:

違章時間:2013-01-22 08:33:00
違章地點:延安路與瑞金路交叉口
違章行為:在禁止通行的時間、路段、車道內行駛的
違章扣分:0
違章罰款:200
處理狀態:未處理

違章時間:2013-03-12 08:33:00
違章地點:瑞金南路和文化路交叉口
違章行為:在禁止通行的時間、路段、車道內行駛的
違章扣分:0
違章罰款:200
處理狀態:未處理

違章時間:2013-12-25 19:22:00
違章地點:箭道街
違章行為:機動車逆向行駛的
違章扣分:3
違章罰款:200
處理狀態:未處理

違章時間:2014-06-24 19:06:00
違章地點:解放路(嘉潤路口-南廠路口)
違章行為:在禁止通行的時間、路段、車道內行駛的
違章扣分:0
違章罰款:200
處理狀態:未處理

違章查詢免費api接口代碼