发布网友 发布时间:2022-04-26 18:12
共3个回答
热心网友 时间:2022-04-11 10:11
java处理json,最经典的做法还是将String字符串转换成对象来处理。
需要借助第三方jar包,常见的第三方json处理jar包有:阿里巴巴的fastjson,谷歌的gson还有诸如jackson之类的。
我习惯用gson:
1、引入gson依赖或去网上下载其jar包:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
2、根据json串,定义对象:
首先定义json最外层,我称其为Response,Response中有根节点data:
这里我用了lombok的@Data注解,自动生成getter、setter、toString等方法。
然后定义了根节点对象Data1,里面有Record集合records:
之后就是定义Record的各个字段:
现在我就有了完整的数据结构,使用gson进行转换即可:
接下来拿着response对象进行正常的java逻辑处理就行:
完整代码:
public class TController {
public static void main(String[] args) {
String jsonString = "{\n" +
"\"data\":{\n" +
"\"records\":[\n" +
"{\n" +
"\"couponName\":\"\",\n" +
"\"payTime\":\"2021-11-15 11:11:33\",\n" +
"\"providerEndAddress\":\"\",\n" +
"\"paidMoney\":268,\n" +
"\"weihuUserId\":\"0\",\n" +
"\"proctTypeName\":\"公路零担\"\n" +
"},\n" +
"{\n" +
"\"couponName\":\"\",\n" +
"\"payTime\":\"2021-11-15 11:11:33\",\n" +
"\"providerEndAddress\":\"\",\n" +
"\"paidMoney\":268,\n" +
"\"weihuUserId\":\"0\",\n" +
"\"proctTypeName\":\"航空运输\"\n" +
"}\n" +
"]\n" +
"}\n" +
"}";
Gson gson = new Gson();
Response response = gson.fromJson(jsonString, Response.class);
Data1 data = response.getData();//取出data
List<Record> records = data.getRecords();//取出records
for (int i = 0; i < records.size(); i++) {
//循环判断records中的数据,ProctTypeName不为“公路零担”则移除
if (!"公路零担".equals(records.get(i).getProctTypeName())) {
records.remove(i);
i--;
}
}
data.setRecords(records);//覆盖原有的records
response.setData(data);//覆盖原有的data
System.out.println(gson.toJson(response, Response.class));//转成json字符串输出
}
@Data
private class Response {
private Data1 data;
}
@Data
private class Data1 {
private List<Record> records;
}
@Data
private class Record {
private String couponName;
private String payTime;
private String providerEndAddress;
private String paidMoney;
private String weihuUserId;
private String proctTypeName;
}
}
运行结果:
热心网友 时间:2022-04-11 11:29
java处理json,最经典的做法还是将String字符串转换成对象来处理。
需要借助第三方jar包,常见的第三方json处理jar包有:阿里巴巴的fastjson,谷歌的gson还有诸如jackson之类的。
我习惯用gson:
阶段目标:
1. 熟练掌握Java的开发环境与编程核心知识
2. 熟练运用Java面向对象知识进行程序开发
3. 对Java的核心对象和组件有深入理解
4. 熟练应用JavaAPI相关知识
5. 熟练应用JAVA多线程技术
6. 能综合运用所学知识完成一个项目
知识点:
1、基本数据类型,运算符,数组,掌握基本数据类型转换,运算符,流程控制。
2、数组,排序算法,Java常用API,类和对象,了解类与对象,熟悉常用API。
3、面向对象特性,集合框架,熟悉面向对象三大特性,熟练使用集合框架。
4、IO流,多线程。
5、网络协议,线程运用。
---------
第二阶段:JavaWEB核心课程
阶段目标:
1. 熟练掌握数据库和MySQL核心技术
2. 深入理解JDBC与DAO数据库操作
3. 熟练运用JSP及Servlet技术完成网站后台开发
4. 深入理解缓存,连接池,注解,反射,泛型等知识
5. 能够运用所学知识完成自定义框架
知识点:
1、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,约束,视图,存储过程,函数,触发器,事务,游标,建模工具。
2、深入理解数据库管理系统通用知识及MySQL数据库的使用与管理。为Java后台开发打下坚实基础。Web页面元素,布局,CSS样式,盒模型,JavaScript,jQuery。
3、掌握前端开发技术,掌握jQuery。
4、Servlet,EL表达式,会话跟踪技术,过滤器,FreeMarker。
5、掌握Servlet相关技术,利用Servlet,JSP相关应用技术和DAO完成B/S架构下的应用开发。
6、泛型,反射,注解。
7、掌握JAVA高级应用,利用泛型,注解,枚举完成自己的CRUD框架开发为后续框架学习做铺垫。
8、单点登录,支付功能,项目整合,分页封装熟练运用JSP及Servlet核心知识完成项目实战。
---------
第三阶段:JavaEE框架课程
阶段目标:
1. 熟练运用Linux操作系统常见命令及完成环境部署和Nginx服务器的配置
2. 熟练运用JavaEE三大核心框架:Spring,SpringMVC,MyBatis
3. 熟练运用Maven,并使用SpringBoot进行快速框架搭建
4. 深入理解框架的实现原理,Java底层技术,企业级应用等
5. 使用Shiro,Ztree和Spring,SpringMVC,Myts完成企业项目
知识点:
1、Linux安装配置,文件目录操作,VI命令,管理,用户与权限,环境部署,Struts2概述,hiberante概述。
2、Linux作为一个主流的服务器操作系统,是每一个开发工程师必须掌握的重点技术,并且能够熟练运用。
3、SSH的整合,MyBatis,SpringMVC,Maven的使用。
4、了解AOP原理,了解*控制器原理,掌握MyBatis框架,掌握SSM框架的整合。
5、Shiro,Ztree,项目文档,项目规范,需求分析,原型图设计,数据库设计,工程构建,需求评审,配置管理,BUG修复,项目管理等。
6、独立自主完成一个中小型的企业级综合项目的设计和整体架构的原型和建模。独立自主完成一个大型的企业级综合项目,并具备商业价值
热心网友 时间:2022-04-11 13:04
public static void main(String args[]){ List list1 = null;//基本类型 List list2 = new ArrayList();//Object类型 for (int i = 0; i < 10; i++) { list1 = new ArrayList(); list1.add(i); list2.add(i, list1); } for (int i = 0; i < lis...