1. JSONObject jsonObject = new JSONObject(jsonString);
  2. Iterator iterator = jsonObject.keys();
  3. while(iterator.hasNext()){
  4. key = (String) iterator.next();
  5. value = jsonObject.getString(key);
  6. }
  1. private static Map<String, List<NewNet>> toMap(Object object) {
  2. Map<String, List<NewNet>> data = new HashMap<String, List<NewNet>>();
  3. JSONObject jsonObject = JSONObject.fromObject(object);
  4. Iterator ite = jsonObject.keys();
  5. while (ite.hasNext()) {
  6. String key = String.valueOf(ite.next());
  7. JSONArray obj = JSONArray.fromObject(jsonObject.get(String.valueOf(key)));
  8. Iterator<Object> it = obj.iterator();
  9. while (it.hasNext()) {
  10. JSONObject Obj= JSONObject.fromObject(it.next());
  11. NewNet value = (NewNet) Obj.toBean(Obj,NewNet.class);
  12. if(data.keySet().contains(key)){
  13. data.get(key).add(value);
  14. }else{
  15. List<NewNet> List=new ArrayList<NewNet>();
  16. List.add(value);
  17. data.put(key, List);
  18. }
  19. }
  20.  
  21. }
  22. return data;
  23. }
  1.  
  1. public static List<RPingCheckParamsDto> jsonToVar(String jsons){
  2. JSONArray objs = JSONArray.fromObject(jsons);
  3. Iterator<JSONObject> it = objs.iterator();
  4. List<RPingCheckParamsDto> dtos = new ArrayList<RPingCheckParamsDto>();
  5. while (it.hasNext()) {
  6. JSONObject ob = (JSONObject) it.next();
  7. RPingCheckParamsDto dto = new RPingCheckParamsDto();
  8. if(ob.getString("device")!=null){
  9. dto.setDevice((Device)JSONObject.toBean(JSONObject.fromObject(ob.
  10. get("device")),Device.class));
  11. }
  12. if(ob.getString("starttime")!=null){
  13. dto.setStarttime((Long)ob.get("starttime"));
  14. }
  15. if(ob.getString("type")!=null){
  16. dto.setType((Integer)ob.get("type"));
  17. }
  18. if(ob.getString("segs")!=null){
  19. dto.setSegs((ArrayList<IPTreeNodeBean>)JSONArray.toList(JSONArray.
  20. fromObject(ob.get("segs")),IPTreeNodeBean.class));
  21. }
  22. if(ob.getString("assignedIps")!=null){
  23. ArrayList<String> Ps = (ArrayList<String>)JSONArray.toCollection(JSONArray.
  24. fromObject(ob.get("assignedIps")));
  25. Set<String> bs = new HashSet<String>();
  26. for(String p:Ps){
  27. bs.add(p);
  28. }
  29. if(ob.getString("nsegs")!=null){
  30. dto.setNsegs((ArrayList<NewNet>)JSONArray.toList(JSONArray.
  31. fromObject(ob.get("nsegs")),NewNet.class));
  32. }
  33. dto.setAssignedIps(bs);
  34. }
  35. if(dto!=null){
  36. dtos.add(dto);
  37. }
  38. }
  39. return dtos;
  40. }

在信息解析的过程中发生很多bug ,直接gson去转,这里很是推荐这个,很好用,自定义类型的转化效率很高

kafka消息传输时的对象转字符串时所需 -json String 转list 、set、 Long、 String 、map 与json Iterator遍历的更多相关文章

  1. logstash与kafka消息传输<一>

    1.版本: logstash6.1.2.kafka-0.11.kafka-0.8.2.java1.8 Note: Logstash requires Java 8. Java 9 is not sup ...

  2. 使用fastjson将对象和字符串进行转换

    依赖包: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</ar ...

  3. JSON对象和字符串之间的相互转换 – JSON.parse() 和 JSON.stringify()

    所有现代浏览器都支持 JSON 对象,有两个非常有用的方法来处理 JSON 格式的内容: JSON.parse(string) :接受一个 JSON 字符串并将其转换成一个 JavaScript 对象 ...

  4. InnerException 消息是“反序列化对象 属于类型 *** 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。(注意细节)

    WEB站点在调用我们WCF服务的时候,只要传入的参数过长,就报如下错误: 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: formD ...

  5. fastjson中对象转化为字符串时过滤某字段

    fastjson中对象转化为字符串时过滤某字段,有两种方法: 一.在该字符定义上方添加"@JSONField(serialize=false)"注解: 二.调用含有Property ...

  6. json对象转为字符串,当做参数传递时加密解密

    [son对象  字符串 互相转行] 比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":"tom","sex ...

  7. 实时消息传输协议 RTMP(Real Time Messaging Protocol)

    实时消息传输协议(RTMP)最初是由 Macromedia 为互联网上 Flash player 和服务器之间传输音频.视频以及数据流而开发的一个私有协议.Adobe 收购 Macromedia 购以 ...

  8. Web Service 或 WCF调用时读取 XML 数据时,超出最大字符串内容长度配额(8192)解决方法

    1.调用服务时服务 当我们使用 Web Service 或 WCF 服务时,常把读取的数据转化为string类型(xml格式),当数据量达到一 定数量时,会出现以下异常: 错误:格式化程序尝试对消息反 ...

  9. ZeroMQ接口函数之 :zmq - 0MQ 轻量级消息传输内核

    官方网址:http://api.zeromq.org/4-0:zmq zmq(7) 0MQ Manual - 0MQ/3.2.5 Name zmq – ØMQ 轻量级消息传输内核 Synopsis # ...

随机推荐

  1. lynx---CentOS终端访问IP

    1.官网 http://lynx.isc.org 2.稳定版本 http://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.8rel.2.ta ...

  2. Display 和Visible 区别

    一.   web页面前台编码时经常用到display:none样式,平常使用时发现有几点特征需要注意   1.如果在样式文件或页面文件代码中直接用display:none对元素进行了隐藏,载入页面后, ...

  3. spring cloud+dotnet core搭建微服务架构:Api授权认证(六)

    前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...

  4. jQuery选择器(内容过滤选择器)第四节

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  5. 微信公众平台快速开发框架 For Core 2.0 beta –JCSoft.WX.Core 5.2.0 beta发布

    写在前面 最近比较忙,都没有好好维护博客,今天拿个半成品来交代吧. 记不清上次关于微信公众号快速开发框架(简称JCWX)的更新是什么时候了,自从更新到支持.Net Framework 4.0以后基本上 ...

  6. Oracle-1 - :超级适合初学者的入门级笔记,CRUD,事务,约束 ......

    Oracle 更改时间: 2017-10-25  -  21:33:49 2017-10-26  -  11:43:19 2017-10-27  -  19:06:57 2017-10-28  -  ...

  7. RE:通过移动端滑动手势实现数据加载

      背景:         基于要尝试的移动端项目需要有一个通过上拉下滑手势达成加载不同数据的功能,其涉及到滑动手势和ajax数据加载方面的知识点.故对整个实现过程做一个记录整理.个人JS功底有限,看 ...

  8. 一起写框架-控制反转(Ioc)概述(二)

    控制反转概述 控制反转(Inversion of Control,英文缩写为IoC),就是将代码的调用的控制权,由调用方转移给被调用方. 如图:修改代码A类的代码,才能将B类的对象换成C类.代码的控制 ...

  9. kafka学习笔记1:测试环境搭建

    最近因为架构中引入了kafka,一些之前在代码中通过RPC调用强耦合但是适合异步处理的内容可以用kafka重构一下. 考虑从头学一下kafka了解其特性和使用场景. 环境选择 首先是测试环境的搭建,平 ...

  10. 常见的dom操作----原生JavaScript与jQuery

    1.创建元素 文本节点 JavaScript: document.createElement(),只接收一个参数,创建后需要手动将其添加到文档树中,例如: var newDiv = document. ...