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

违章实体类

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. 【JAVA 学习笔记2】if使用例子

    int a =3; if (a%2==0) { System.out.println(a+" 是偶数"); System.out.println(a+" 不是奇数&quo ...

  2. Disruptor源码解读

    上一篇已经介绍了Disruptor是什么?简单总结了为什么这么快?下面我们直接源码搞起来,简单粗暴.高性能队列disruptor为什么这么快? 一.核心类接口 Disruptor 提供了对RingBu ...

  3. Scala-基础-运算符

    import junit.framework.TestCase /** * 运算符 */ class Demo3 extends TestCase { def test_+ { var x = 10; ...

  4. opencv总结

    2018-02-2623:59:02 唉,这软件我很烦躁,今天又搞了好几遍,出错提示的时候总是出问题! 而且,无论什么错误,都是提示一堆乱码! 定义ROI区域有两种方法,第一种是使用cv:Rect.顾 ...

  5. Pycharm消除波浪线

    PyCharm使用了较为严格的PEP8检查规则,稍微有点错误就会出现波浪线提示.那么怎么消除这些波浪线呢?一个简单粗暴的方法就是:在编辑器的右下角有个小人形状的按钮,点开之后有个滚动条,将滚动条滑动到 ...

  6. mongo 3.4分片集群系列之六:详解配置数据库

    这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建 ...

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

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

  8. MaskRCNN:三大基础结构DeepMask、SharpMask、MultiPathNet

    MaskXRCnn俨然成为一个现阶段最成功的图像检测分割网络,关于MaskXRCnn的介绍,需要从MaskRCNN看起. 当然一个煽情的介绍可见:何恺明团队推出Mask^X R-CNN,将实例分割扩展 ...

  9. POJ_1083_(思维)

    Moving Tables Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 31511   Accepted: 10528 D ...

  10. RabbitMQ系列(二)--基础组件

    声明:对于RabbitMQ的学习基于某课网相关视频和<RabbitMQ实战指南>一书,后续关于RabbitMQ的博客都是基于二者 一.什么是RabbitMQ RabbitMQ是开源代理和队 ...