违章查询免费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接口代码
描写叙述 :依据身份证编号 查询归属地信息. 身份证实体类: package org.wx.xhelper.model; /** * 身份证实体类 * @author wangxw * @versio ...
- 手机号码归属地查询免费api接口代码
依据手机号码查询用户的卡类型.运营商.归属地.区域等信息. 手机归属地实体类 package org.wx.xhelper.model; /** * 手机归属地 * @author wangxw * ...
- 快递单号查询免费api接口(PHP示例)
快递单号查询API,可以对接顺丰快递查询,邮政快递查询,中通快递查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务.对于电商企业,ERP服务企业,集成此接口到自己的软 ...
- 公交线路免费api接口代码
描写叙述:本接口主要是依据城市名称 + 线路名称 模糊查找城市公交线路信息. 开源api接口:http://openapi.aibang.com/bus/lines?app_key=keyvalue ...
- 身份证归属地查询免费api接口
描写叙述 :依据身份证编号 查询归属地信息. 调用地址: http://api.k780.com:88/? app=idcard.get&idcard=510103195309280011&a ...
- 各类无次数限制的免费API接口整理
各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...
- 网络免费API接口整理
转载自: https://www.cnblogs.com/doit8791/p/9351629.html 从网上看到一些免费API接口,在个人开发小程序等应用练手时可试用. 各类无次数限制的免费API ...
- 各类无次数限制的免费API接口,再也不怕找不到免费API了
各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...
- 免费API接口记录
用来记录一些无次数限制的免费API接口,主要是聚合数据上和API Store上的一些,还有一些其他的. 手机号码归属地API接口: https://www.juhe.cn/docs/api/id/11 ...
随机推荐
- Android RxJava1.X升级到RxJava2.X笔记
简书地址 http://www.jianshu.com/p/2badfbb3a33b 描述 RxJava 1.X RxJava 2.X package包名 rx.xxx io.reactivex.xx ...
- Java线程及Jvm监控工具
Java线程状态 线程的五种状态 * 新建:new(时间很短) * 运行:runnable * 等待:waitting(无限期等待),timed waitting(限期等待) * 阻塞:blocked ...
- Android ListView绑定数据
ListView绑定数据的三层: ListView绑定数据源从逻辑上可以分为三层:UI层,逻辑层,数据层. UI层:UI层即是ListView控件. 数据层:要展示到ListView控件上面的数据. ...
- 一次“MySQL server has gone away”故障及其解决
1,问题现象 某次测试发现,程序失去响应.由于程序集成了EurekaLog组件,弹出了错误框.查看其给出的Call Stack信息,发现没有发生线程死锁(DeadLock=0;),问题在于 Wait ...
- 4星|《DK商业百科》:主要商业思想与事件的概括
全书分为以下6章:1:企业的起步与发展:2:领导和人力资源:3:理财:4:战略和运营:5:营销管理:6:生产与生产后.每章有拆分为成多个比较小的专题,阐述相关专题的主要的商业思想与实践. 基本是作者按 ...
- java 基础学习笔记 - 安装
1. 从www.sun.com中 下载jdk安装包 2. 执行安装包,安装jdk ,jre(Java运行环境) 3. 配置path路径 增加jdk下的bin目录. 配置完后需要重启cmd窗口,因为cm ...
- UI绘图与信息、样式
UI的绘图功能是在视图尺寸确定以后,将信息和样式绘制的过程: 给信息和样式的修改提供的最后的机会. UILabel 控制行段间距的终极代码. class LineSpaceLabel: UILabel ...
- JavaScipt30(第二个案例)
承接上篇https://www.cnblogs.com/wangxi01/p/10641115.html,这是第二个案例 附上项目链接: https://github.com/wesbos/JavaS ...
- Java排序算法全
目录 Java排序算法代码 零. 排序基类 一. 选择排序 二. 插入排序 三. 希尔排序 四. 归并排序 1. 自顶向下 2. 自底向上 五. 快速排序 1. 基本版 2. 双路切分版 3. 三路切 ...
- HTML5定制全选列头
随着HTML5产品分支的不断深入使用,HTML5的需求也是越来越多,表格组件的使用也不例外,什么排序,分页,自动列宽等.最近有客户提出了如果让表格的列头加上全选的功能.细细分析其实就是两部分,表格的b ...