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. 解决打开MATLAB时出现“Waring:could not read file classpath.txt”,等问题

    估计刚安装好的matlab是不会出现这个问题的,出现问题肯定是在某一次用360或者电脑管家清理垃圾之后才会出现这个问题. 首先声明我的matlab版本是matlab R2014a,下载链接:(额,网盘 ...

  2. AMD与commonJS

    CommonJS:它是一个同步的模式.但是这种模式并不适合于浏览器端,如果浏览器同步模式一个一个加载模块,那么打开将会变得非常的慢. AMD:它最大的特点就是可以异步的方式加载模块,具体的不同在于AM ...

  3. 移动端车牌识别sdk开发包(可下载)

    移动端车牌识别是一项基于OCR识别的应用技术.移动端车牌识别过程主要包含五个步骤,其中包括图像采集.图像预处理.车牌定位.字符分割.字符识别.输出结果等一系列计算机算法运算, 第一步[图像采集]:此步 ...

  4. 从ELK到EFK演进

    背景 作为中国最大的在线教育站点,目前沪江日志服务的用户包含网校,交易,金融,CCTalk 等多个部门的多个产品的日志搜索分析业务,每日产生的各类日志有好十几种,每天处理约10亿条(1TB)日志,热数 ...

  5. Python程序员去上海工作有多难?

    我只能说,也要看你掌握的技术可以打多少分.技术熟练度跟找工作的难易程度是成正比的:你掌握得越好,找工作就越容易(难度系数越低):反之越高. Python程序员这种技术类的工作岗位,当然还是要有扎实的技 ...

  6. Espresso浅析和使用

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ Espresso是一个Google官方提供的Android应用UI自动化测试框架.Google希望,当Android的开发者利用Espress ...

  7. Python执行show slave status输出的两个格式

    1.元组的方式 输出格式如下: ('Waiting for master to send event', '10.75.19.79', 'mysqlsync', 5580L, 60L, 'mysql- ...

  8. mysql 查询各数据库的占用大小

    select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size, concat(trunc ...

  9. Spring AOP高级——源码实现(3)AopProxy代理对象之JDK动态代理的创建过程

    spring-aop-4.3.7.RELEASE  在<Spring AOP高级——源码实现(1)动态代理技术>中介绍了两种动态代理技术,当然在Spring AOP中代理对象的生成也是运用 ...

  10. web-故道白云&Clound的错误

    web-故道白云 题目: 解题思路: 0x01 首先看到题目说html里有秘密,就看了下源代码如图, 重点在红圈那里,表示输入的变量是id,当然上一行的method="get"同时 ...