直接上示例:

字符串:

{"msg":{"absTime":1589882783000,"adminList":[],"alarmAddress":"沪亭南路姚北路北侧南向北1HG","alarmLevel":"1","alarmStatus":"0","alarmTime":1589882783000,"alarmType":"2","deviceId":"5d7c562f-f31b-4f25-a306-72358341ee63","ext":"[{\"birthday\":\"未知\",\"libId\":\"550\",\"nation\":\"未知\",\"sex\":\"0\",\"libName\":\"布控中心重点人员 - T3\",\"remark\":\"级联布控人员告警\",\"targetImage\":\"http://15.210.56.40:6120/pic?2ddf32i6c-e*292198143b8b--6df4b688b14e9i3b2*=9d5s5*=0dpi*=1d5i7t5pe*m5i7-=9906485zcd8s=8i01=\",\"extend\":\"{\\\"DealWith\\\":\\\"现场风洞道口任务,无需处置\\\",\\\"Reason\\\":\\\"支撑现场风洞道口任务\\\",\\\"Source\\\":\\\"刘迪冰\\\"}\",\"sceneImg\":\"http://15.209.59.111:8080/SJKKPIC_1400/CJ/20200519/31011710051321035012/310117100513210350120220200519180623269100.jpg\",\"score\":94,\"createTime\":\"2020-05-19 18:09:55\",\"idcard\":\"440922197305180614\",\"name\":\"刘关平\",\"personId\":\"310117100513210350120220200519180623396370663590\"}]","faceId":"310117100513210350120220200519180623396370663590","gbId":"31011710051321035012","id":"a376886d-90e7-47bd-92a9-9d87916ff5bc","idCard":"440922197305180614","imageUrl":"http://15.209.59.114:8080/SJKKPIC_1400/OTHER/20200519/31011710051321035012/310117100513210350120220200519180623269131.jpg","latitude":31.112101,"libId":"550","libName":"布控中心重点人员 - T3","loginId":"0ad29676-2e1d-40ca-b44a-ede03a1870","longitude":121.333601,"name":"刘关平","number":0,"realAlarm":-1,"recordId":"310117100513210350120220200519180623396370663590","score":94,"sex":"0","source":"vdt","status":"0","targetImage":"http://15.210.56.40:6120/pic?2ddf32i6c-e*292198143b8b--6df4b688b14e9i3b2*=9d5s5*=0dpi*=1d5i7t5pe*m5i7-=9906485zcd8s=8i01=","taskId":""},"systemMessage":"0","alarmId":"a376886d-90e7-47bd-92a9-9d87916ff5bc","type":"FACE_ALARM","userId":"b2d589d1-4b66-4d11-9960-103b98596d1a","gisMessage":"0"}

json格式(部分,展示不全):

定义对应的实体类:

public classAlarmFeedBack {publicMsg msg;publicString systemMessage;publicString alarmId;publicString type;publicString userId;publicString gisMessage;

}public classMsg {public longabsTime;publicObject[] adminList;publicString alarmAddress;publicString alarmLevel;publicString alarmStatus;publicString alarmTime;publicString alarmType;publicString deviceId;public Listext;publicString faceId;publicString gbId;publicString id;publicString idCard;publicString imageUrl;public doublelatitude;publicString libId;publicString libName;publicString loginId;public doublelongitude;publicString name;publicInteger number;publicInteger realAlarm;publicString recordId;publicInteger score;publicString sex;publicString source;publicString status;publicString targetImage;publicString taskId;

}public classExt {publicString birthday;publicString libId;publicString nation;publicString sex;publicString libName;publicString remark;publicString targetImage;publicExtend extend;publicString sceneImg;publicInteger score;publicString createTime;publicString idcard;publicString name;publicString personId;

}public classExtend {

String DealWith;

String Reason;

String Source;

}

(重点在此)

解析方法:

/**

* 解析

* @param str

* @return*/

public staticAlarmFeedBack GetAlarmFeedBackFromStr(String str){

Map map= com.alibaba.fastjson.JSONObject.parseObject(str,Map.class);

Map map1= com.alibaba.fastjson.JSONObject.parseObject(JSONObject.toJSONString(map.get("msg")),Map.class);

String res=map1.get("ext");

AlarmFeedBack alarmFeedBack= JSONUtil.toBean(str,AlarmFeedBack.class);if(res!=null&&res.length()>0){

List maps=JSONObject.parseArray(res,Map.class);

String ss= maps.get(0).get("extend").toString();

Listexts=JSONUtil.toList(JSONUtil.parseArray(res),Ext.class);

alarmFeedBack.getMsg().setExt(exts);if(ss!=null&&ss.length()>0){

Extend extend=JSONUtil.toBean(ss,Extend.class);

alarmFeedBack.getMsg().getExt().get(0).setExtend(extend);

}

}returnalarmFeedBack;

}

测试调用:

String str="{\"msg\":{\"absTime\":1589882783000,\"adminList\":[],\"alarmAddress\":\"沪亭南路姚北路北侧南向北1HG\",\"alarmLevel\":\"1\",\"alarmStatus\":\"0\",\"alarmTime\":1589882783000,\"alarmType\":\"2\",\"deviceId\":\"5d7c562f-f31b-4f25-a306-72358341ee63\",\"ext\":\"[{\\\"birthday\\\":\\\"未知\\\",\\\"libId\\\":\\\"550\\\",\\\"nation\\\":\\\"未知\\\",\\\"sex\\\":\\\"0\\\",\\\"libName\\\":\\\"布控中心重点人员 - T3\\\",\\\"remark\\\":\\\"级联布控人员告警\\\",\\\"targetImage\\\":\\\"http://15.210.56.40:6120/pic?2ddf32i6c-e*292198143b8b--6df4b688b14e9i3b2*=9d5s5*=0dpi*=1d5i7t5pe*m5i7-=9906485zcd8s=8i01=\\\",\\\"extend\\\":\\\"{\\\\\\\"DealWith\\\\\\\":\\\\\\\"现场风洞道口任务,无需处置\\\\\\\",\\\\\\\"Reason\\\\\\\":\\\\\\\"支撑现场风洞道口任务\\\\\\\",\\\\\\\"Source\\\\\\\":\\\\\\\"刘迪冰\\\\\\\"}\\\",\\\"sceneImg\\\":\\\"http://15.209.59.111:8080/SJKKPIC_1400/CJ/20200519/31011710051321035012/310117100513210350120220200519180623269100.jpg\\\",\\\"score\\\":94,\\\"createTime\\\":\\\"2020-05-19 18:09:55\\\",\\\"idcard\\\":\\\"440922197305180614\\\",\\\"name\\\":\\\"刘关平\\\",\\\"personId\\\":\\\"310117100513210350120220200519180623396370663590\\\"}]\",\"faceId\":\"310117100513210350120220200519180623396370663590\",\"gbId\":\"31011710051321035012\",\"id\":\"a376886d-90e7-47bd-92a9-9d87916ff5bc\",\"idCard\":\"440922197305180614\",\"imageUrl\":\"http://15.209.59.114:8080/SJKKPIC_1400/OTHER/20200519/31011710051321035012/310117100513210350120220200519180623269131.jpg\",\"latitude\":31.112101,\"libId\":\"550\",\"libName\":\"布控中心重点人员 - T3\",\"loginId\":\"0ad29676-2e1d-40ca-b44a-ede03a187095\",\"type\":\"FACE_ALARM\",\"userId\":\"b2d589d1-4b66-4d11-9960-103b98596d1a\",\"gisMessage\":\"0\"}";

AlarmFeedBack res= ParsePoliceSit.GetAlarmFeedBackToStr(str);

java字符串转实体类_JAVA 恶心的字符串(字符串有点复杂)转实体类相关推荐

  1. java 字符串转utc时间_Java中转UTC时间字符串(含有T Z)为local时间

    在Java中我们需要转换相应格式的字符串,很多时候我们想到用SimpleDateFormat类来解析.但是最近我在调用一个第三方的接口时返回的 JSON字符串中有个expires字段的值是2014-0 ...

  2. java常用工具类_java(二):工作中常用到的工具类

    工作中大家要用到很多工具类,第三方的jar中有很多现成的工具类符合自己的项目需要,这个时候就不需要去重复造轮子了,从而节省了很多时间,大家可以利用这些时间去做其它重要的事情,如果没有符合自己的工具类, ...

  3. java程序 构建mycircle类_Java语言程序设计(十九)对象和类的应用实例

    1.我们定义一个Circle类并使用该类创建对象,我们创建三个圆对象,1.0,25和125,然后显示这三个圆的半径和面积,将第二个对象的半径改为100,然后显示它的新半径和面积.程序清单如下: pac ...

  4. java final修饰的类_java final修饰符使用总结,final修饰类详解

    下面要继续给大家讲到的就是java final修饰符方面的知识,主要是java final修饰符使用总的一些总结,以及一些final修饰类方面的一些知识. java final修饰符使用总结 首先我们 ...

  5. java截取前几位_java中怎么截取字符串前几位

    java中可以使用substring()方法截取字符串前几位. substring() 方法返回字符串的子字符串. 语法:public String substring(int beginIndex) ...

  6. java语言 回文判断_java判断回文字符串的几种方法

    java判断回文字符串几种简单的实现: 1.将字符串倒置后逐一比较,实现如下: public class HuiWenTest { /** * @SERLIN */ public static voi ...

  7. java 怎么快速创建实体类_java编程使用eclipse如何快速创建一个实体类

    一. 创建一个实体类如下package pojo; public class GoodsModel { private String goodsname; private double goodspr ...

  8. java 删除某一个学生_java编写一个程序,实现功能(定义一个类学生表示学生1. 增加学生2显示 3. 修改 4. 删除5查找某...

    www.mh456.com防采集. 1.Student.java代码如下/** * 2016年5月211312日上午526111:03:22 *  * @author 3306 TODO 建立学生实体 ...

  9. java时间日期格式器_JAVA基础类库(二)-----日期、时间类和格式器

    Date类 public classDateTest{public static voidmain(String[] args){ Date d1= newDate();//获取当前时间之后100ms ...

最新文章

  1. 路径规划(Path Planning)与运动规划(Motion Planning)
  2. 小计算器代码(C#)
  3. 观念什么意思_观念真不是凭空出现的,也不是单一的,观念来自环境并且不止一种...
  4. xtext_使用Xtext为Eclipse和IntelliJ开发DSL
  5. 自从我这样撸代码以后,公司网页的浏览量提高了107%!
  6. 18th, Oct 端正心态,积蓄实力,等待爆发的一刻
  7. pcie总线连接两台电脑_PCIe总线学习笔记(一、PCI基础知识简介)(转载)
  8. (JAVA)基于Socket的TCP和UDP编程(第一章)
  9. 吾爱破解新手教程(1)- 破解,逆向,安全
  10. Python中文文本分句 sentence tokenize
  11. 异构计算-1-10x10:一种异质性和提高能量效率的通用架构方法
  12. 新浪免费企业邮箱Foxmail客户端设…
  13. oracle递归查询用法
  14. 利器 | Java 接口自动化测试首选方案:REST Assured 实践 (一)
  15. Mac电脑最强截图工具--iShot
  16. 3.1 机器学习模型
  17. office 2010 快捷键
  18. TinyMCE富文本更改默认文字字号、字体
  19. 解析html xml最好的模块,解析--import--htmllib--xml
  20. Altium Desginer如何添加数码丝印以及roboto丝印

热门文章

  1. 闲鱼技术人的辞旧迎新
  2. 十佳最受欢迎的编程语言 你擅长几个?
  3. IT公司的妇女节都怎么过的
  4. 电脑右下角小喇叭图标红叉提示未插入扬声器或者耳机
  5. Python数据结构--列表(二)
  6. 场景风控的商户监控,这两大数据指标掌握了吗
  7. Leaning method
  8. 2.Java语言跨平台原理?
  9. OPPO Reno2抢跑视频新赛道,能打破5G的“无极混沌”吗?
  10. 瑞芯微RK3568控制板设计总结