JSONObject jsonObject = new JSONObject(jsonString);
Iterator iterator = jsonObject.keys();
while(iterator.hasNext()){
key = (String) iterator.next();
value = jsonObject.getString(key);
}
private static Map<String, List<NewNet>> toMap(Object object) {
Map<String, List<NewNet>> data = new HashMap<String, List<NewNet>>();
JSONObject jsonObject = JSONObject.fromObject(object);
Iterator ite = jsonObject.keys();
while (ite.hasNext()) {
String key = String.valueOf(ite.next());
JSONArray obj = JSONArray.fromObject(jsonObject.get(String.valueOf(key)));
Iterator<Object> it = obj.iterator();
while (it.hasNext()) {
JSONObject Obj= JSONObject.fromObject(it.next());
NewNet value = (NewNet) Obj.toBean(Obj,NewNet.class);
if(data.keySet().contains(key)){
data.get(key).add(value);
}else{
List<NewNet> List=new ArrayList<NewNet>();
List.add(value);
data.put(key, List);
}
} }
return data;
}

public static List<RPingCheckParamsDto> jsonToVar(String jsons){
JSONArray objs = JSONArray.fromObject(jsons);
Iterator<JSONObject> it = objs.iterator();
List<RPingCheckParamsDto> dtos = new ArrayList<RPingCheckParamsDto>();
while (it.hasNext()) {
JSONObject ob = (JSONObject) it.next();
RPingCheckParamsDto dto = new RPingCheckParamsDto();
if(ob.getString("device")!=null){
dto.setDevice((Device)JSONObject.toBean(JSONObject.fromObject(ob.
get("device")),Device.class));
}
if(ob.getString("starttime")!=null){
dto.setStarttime((Long)ob.get("starttime"));
}
if(ob.getString("type")!=null){
dto.setType((Integer)ob.get("type"));
}
if(ob.getString("segs")!=null){
dto.setSegs((ArrayList<IPTreeNodeBean>)JSONArray.toList(JSONArray.
fromObject(ob.get("segs")),IPTreeNodeBean.class));
}
if(ob.getString("assignedIps")!=null){
ArrayList<String> Ps = (ArrayList<String>)JSONArray.toCollection(JSONArray.
fromObject(ob.get("assignedIps")));
Set<String> bs = new HashSet<String>();
for(String p:Ps){
bs.add(p);
}
if(ob.getString("nsegs")!=null){
dto.setNsegs((ArrayList<NewNet>)JSONArray.toList(JSONArray.
fromObject(ob.get("nsegs")),NewNet.class));
}
dto.setAssignedIps(bs);
}
if(dto!=null){
dtos.add(dto);
}
}
return dtos;
}

在信息解析的过程中发生很多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. JavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)

    在 <从 JavaScript 到 TypeScript 系列> 文章我们已经学习了 TypeScript 相关的知识. TypeScript 的核心在于静态类型,我们在编写 TS 的时候 ...

  2. 全局作用域 eval

    eval是在caller的作用域里运行传给它的代码: var x = 'outer';   (function() {     var x = 'inner';     eval('x'); // & ...

  3. sass学习--在htm文件中使用

    一.导语 最近的战狼2好火爆啊,每天看战狼2的票房一路高飙,我估计比吴京还开心.看了这部戏的拍摄过程,除了敬佩就是踏实,是的,吴京是电影圈隔了这么久后能踏踏实实做电影的了,纯属个人见解,不喜请忽略.. ...

  4. [J2EE] 有关 PreparedStatement

    今天同事遇到一个问题,简言之,就是PreparedStatement的预编译究竟是怎么发挥作用的... 嘿嘿,说来惭愧,我以前就只知道PreparedStatement比Statement要好,要防S ...

  5. rewirte 规则

    Nginx Rewrite Rewirte 规则也称为规则重写,主要功能是实现浏览器访问 HTTP URL 的跳转,其正则 表达式是基于 Perl 语言.通常而言,几乎所有的 WEB 服务器均可以支持 ...

  6. Kotlin实现LeetCode算法题之String to Integer (atoi)

    题目String to Integer (atoi)(难度Medium) 大意是找出给定字串开头部分的整型数值,忽略开头的空格,注意符号,对超出Integer的数做取边界值处理. 方案1 class ...

  7. 微信支付——openid获取不到

    1.写微信支付遇到状况,通过wx.login获取code,然后向微信服务器获取openid,获取失败:{"errcode":40029,"errmsg":&qu ...

  8. Markdown简易语法说明

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  9. 在moba游戏里面模拟实现绝地求生毒雾圈功能

    ---恢复内容开始--- 已经有很长一段时间没做项目了上半年大多数时间都荒废在王者荣耀,哈哈,S8赛季也上了王者,美滋滋 转回正题,公司需要开个新项目,需要把原有的moba游戏,改成类似绝地求生那玩法 ...

  10. java操作solr实现查询功能

    一.封装的查询方法 /** * solr查询方法 * @param client solr客户端 * @param query solr查询对象 * @return list集合 * @throws ...