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

违章实体类

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接口代码的更多相关文章

  1. 身份证归属地查询免费api接口代码

    描写叙述 :依据身份证编号 查询归属地信息. 身份证实体类: package org.wx.xhelper.model; /** * 身份证实体类 * @author wangxw * @versio ...

  2. 手机号码归属地查询免费api接口代码

    依据手机号码查询用户的卡类型.运营商.归属地.区域等信息. 手机归属地实体类 package org.wx.xhelper.model; /** * 手机归属地 * @author wangxw * ...

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

    快递单号查询API,可以对接顺丰快递查询,邮政快递查询,中通快递查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务.对于电商企业,ERP服务企业,集成此接口到自己的软 ...

  4. 公交线路免费api接口代码

    描写叙述:本接口主要是依据城市名称 +  线路名称 模糊查找城市公交线路信息. 开源api接口:http://openapi.aibang.com/bus/lines?app_key=keyvalue ...

  5. 身份证归属地查询免费api接口

    描写叙述 :依据身份证编号 查询归属地信息. 调用地址: http://api.k780.com:88/? app=idcard.get&idcard=510103195309280011&a ...

  6. 各类无次数限制的免费API接口整理

    各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...

  7. 网络免费API接口整理

    转载自: https://www.cnblogs.com/doit8791/p/9351629.html 从网上看到一些免费API接口,在个人开发小程序等应用练手时可试用. 各类无次数限制的免费API ...

  8. 各类无次数限制的免费API接口,再也不怕找不到免费API了

    各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...

  9. 免费API接口记录

    用来记录一些无次数限制的免费API接口,主要是聚合数据上和API Store上的一些,还有一些其他的. 手机号码归属地API接口: https://www.juhe.cn/docs/api/id/11 ...

随机推荐

  1. Android RxJava1.X升级到RxJava2.X笔记

    简书地址 http://www.jianshu.com/p/2badfbb3a33b 描述 RxJava 1.X RxJava 2.X package包名 rx.xxx io.reactivex.xx ...

  2. Java线程及Jvm监控工具

    Java线程状态 线程的五种状态 * 新建:new(时间很短) * 运行:runnable * 等待:waitting(无限期等待),timed waitting(限期等待) * 阻塞:blocked ...

  3. Android ListView绑定数据

    ListView绑定数据的三层: ListView绑定数据源从逻辑上可以分为三层:UI层,逻辑层,数据层. UI层:UI层即是ListView控件. 数据层:要展示到ListView控件上面的数据. ...

  4. 一次“MySQL server has gone away”故障及其解决

    1,问题现象 某次测试发现,程序失去响应.由于程序集成了EurekaLog组件,弹出了错误框.查看其给出的Call Stack信息,发现没有发生线程死锁(DeadLock=0;),问题在于 Wait ...

  5. 4星|《DK商业百科》:主要商业思想与事件的概括

    全书分为以下6章:1:企业的起步与发展:2:领导和人力资源:3:理财:4:战略和运营:5:营销管理:6:生产与生产后.每章有拆分为成多个比较小的专题,阐述相关专题的主要的商业思想与实践. 基本是作者按 ...

  6. java 基础学习笔记 - 安装

    1. 从www.sun.com中 下载jdk安装包 2. 执行安装包,安装jdk ,jre(Java运行环境) 3. 配置path路径 增加jdk下的bin目录. 配置完后需要重启cmd窗口,因为cm ...

  7. UI绘图与信息、样式

    UI的绘图功能是在视图尺寸确定以后,将信息和样式绘制的过程: 给信息和样式的修改提供的最后的机会. UILabel 控制行段间距的终极代码. class LineSpaceLabel: UILabel ...

  8. JavaScipt30(第二个案例)

    承接上篇https://www.cnblogs.com/wangxi01/p/10641115.html,这是第二个案例 附上项目链接: https://github.com/wesbos/JavaS ...

  9. Java排序算法全

    目录 Java排序算法代码 零. 排序基类 一. 选择排序 二. 插入排序 三. 希尔排序 四. 归并排序 1. 自顶向下 2. 自底向上 五. 快速排序 1. 基本版 2. 双路切分版 3. 三路切 ...

  10. HTML5定制全选列头

    随着HTML5产品分支的不断深入使用,HTML5的需求也是越来越多,表格组件的使用也不例外,什么排序,分页,自动列宽等.最近有客户提出了如果让表格的列头加上全选的功能.细细分析其实就是两部分,表格的b ...