违章查询免费api接口代码

Posted cxchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了违章查询免费api接口代码相关的知识,希望对你有一定的参考价值。

能够依据城市+车牌号+发动机号查询违章信息列表。

违章实体类

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接口代码的主要内容,如果未能解决你的问题,请参考以下文章

快递鸟物流查询接口API调用代码示例

快递单号查询免费api接口(PHP示例)

Flask 编写http接口api及接口自动化测试

Java查询快递物流信息api接口写法免费

快递鸟API接口调用代码示例(免费不限量)

免费手机号码归属地API查询接口