Java 语言 ArrayList 和 JSONArray 相互转换
Student 实体类
/*** @author Miracle Luna* @version 1.0* @date 2019/7/5 18:06*/ public class Student {private String name; // 姓名private Integer age; // 年龄private String gender; // 性别public Student(String name, Integer age, String gender) {this.name = name;this.age = age;this.gender = gender;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +", gender='" + gender + '\'' +'}';} }
ArrayList 转成 JSONArray
简单总结了 6 种 方法(推荐 第5、6种),代码如下:
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject;import java.util.ArrayList;/*** @author Miracle Luna* @version 1.0* @date 2019/7/5 17:43*/ public class ArrayListToJSONArray {public static void main(String[] args) {ArrayList<Student> studentList = new ArrayList<Student>();JSONArray studentJsonArray = new JSONArray();Student John = new Student("John", 16,"boy");Student Lily = new Student("Lily", 17, "girl");Student Jack = new Student("Jack", 18, "boy");studentList.add(John);studentList.add(Lily);studentList.add(Jack);System.out.println("=============== studentList info ================");System.out.println(studentList.toString());// 方式 1studentJsonArray = JSON.parseArray(JSONObject.toJSONString(studentList));System.out.println("\n方式 1: " + studentJsonArray.toJSONString());// 方式 2studentJsonArray = JSON.parseArray(JSON.toJSONString(studentList));System.out.println("\n方式 2: " + studentJsonArray.toJSONString());// 方式 3studentJsonArray = JSONObject.parseArray(JSONObject.toJSONString(studentList));System.out.println("\n方式 3: " + studentJsonArray.toJSONString());// 方式 4studentJsonArray = JSONObject.parseArray(JSON.toJSONString(studentList));System.out.println("\n方式 4: " + studentJsonArray.toJSONString());// 方式 5studentJsonArray = JSONArray.parseArray(JSONObject.toJSONString(studentList));System.out.println("\n方式 5: " + studentJsonArray.toJSONString());// 方式 6studentJsonArray = JSONArray.parseArray(JSON.toJSONString(studentList));System.out.println("\n方式 6: " + studentJsonArray.toJSONString());System.out.println("\n============== Lambda 表达式 遍历 JSONArray ============");studentJsonArray.forEach(student -> System.out.println("student info: " + student));} }
执行结果如下:
=============== studentList info ================ [Student{name='John', age=16, gender='boy'}, Student{name='Lily', age=17, gender='girl'}, Student{name='Jack', age=18, gender='boy'}]方式 1: [{"gender":"boy","name":"John","age":16},{"gender":"girl","name":"Lily","age":17},{"gender":"boy","name":"Jack","age":18}]方式 2: [{"gender":"boy","name":"John","age":16},{"gender":"girl","name":"Lily","age":17},{"gender":"boy","name":"Jack","age":18}]方式 3: [{"gender":"boy","name":"John","age":16},{"gender":"girl","name":"Lily","age":17},{"gender":"boy","name":"Jack","age":18}]方式 4: [{"gender":"boy","name":"John","age":16},{"gender":"girl","name":"Lily","age":17},{"gender":"boy","name":"Jack","age":18}]方式 5: [{"gender":"boy","name":"John","age":16},{"gender":"girl","name":"Lily","age":17},{"gender":"boy","name":"Jack","age":18}]方式 6: [{"gender":"boy","name":"John","age":16},{"gender":"girl","name":"Lily","age":17},{"gender":"boy","name":"Jack","age":18}]============== Lambda 表达式 遍历 JSONArray ============ student info: {"gender":"boy","name":"John","age":16} student info: {"gender":"girl","name":"Lily","age":17} student info: {"gender":"boy","name":"Jack","age":18}
JSONArray 转成 ArrayList
简单总结了 7 种 方法(推荐前 4种),代码如下:
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject;import java.util.*;/*** @author Miracle Luna* @version 1.0* @date 2019/7/5 18:36*/ public class JSONArrayToArrayList {public static void main(String[] args) {JSONArray studentJSONArray = new JSONArray();List<Student> studentList = new ArrayList<Student>();Map<String, Object> JohnMap = new HashMap<String, Object>();JohnMap.put("name", "John");JohnMap.put("age", 16);JohnMap.put("gender", "boy");JSONObject John = new JSONObject(JohnMap);Map<String, Object> LilyMap = new HashMap<String, Object>();LilyMap.put("name", "Lily");LilyMap.put("age", 17);LilyMap.put("gender", "girl");JSONObject Lily = new JSONObject(LilyMap);Map<String, Object> JackMap = new HashMap<String, Object>();JackMap.put("name", "Jack");JackMap.put("age", 18);JackMap.put("gender", "boy");JSONObject Jack = new JSONObject(JackMap);studentJSONArray.add(John);studentJSONArray.add(Lily);studentJSONArray.add(Jack);System.out.println("\n=============== studentJSONArray info ================");System.out.println(studentJSONArray);System.out.println("\n=============== JSONArray to ArrayList(方式 1) ================");studentList = studentJSONArray.toJavaList(Student.class);studentList.forEach(student -> System.out.println("stundet info: " + student));System.out.println("\n=============== JSONArray to ArrayList(方式 2) ================");studentList = JSON.parseArray(studentJSONArray.toJSONString(), Student.class);studentList.forEach(student -> System.out.println("stundet info: " + student));System.out.println("\n=============== JSONArray to ArrayList(方式 3) ================");studentList = JSONObject.parseArray(studentJSONArray.toJSONString(), Student.class);studentList.forEach(student -> System.out.println("stundet info: " + student));System.out.println("\n=============== JSONArray to ArrayList(方式 4) ================");studentList = JSONArray.parseArray(studentJSONArray.toJSONString(), Student.class);studentList.forEach(student -> System.out.println("stundet info: " + student));System.out.println("\n=============== JSONArray to ArrayList(方式 5) ================");final ArrayList<Student> tmpList = new ArrayList<Student>();studentJSONArray.forEach(studentJson -> {JSONObject jsonObject = (JSONObject)studentJson;Student student = new Student(jsonObject.getString("name"), jsonObject.getInteger("age"), jsonObject.getString("gender"));tmpList.add(student);});studentList = tmpList;studentList.forEach(student -> System.out.println("stundet info: " + student));System.out.println("\n=============== JSONArray to ArrayList(方式 6) ================");studentList.clear();for (Object object : studentJSONArray) {JSONObject jsonObject = (JSONObject)object;Student student = new Student(jsonObject.getString("name"), jsonObject.getInteger("age"), jsonObject.getString("gender"));studentList.add(student);}studentList.forEach(student -> System.out.println("stundet info: " + student));System.out.println("\n=============== JSONArray to ArrayList(方式 7) ================");studentList.clear();for (int i = 0; i < studentJSONArray.size(); i++) {JSONObject jsonObject = (JSONObject)studentJSONArray.get(i);Student student = new Student(jsonObject.getString("name"), jsonObject.getInteger("age"), jsonObject.getString("gender"));studentList.add(student);}studentList.forEach(student -> System.out.println("stundet info: " + student));} }
执行结果如下:
=============== studentJSONArray info ================ [{"gender":"boy","name":"John","age":16},{"gender":"girl","name":"Lily","age":17},{"gender":"boy","name":"Jack","age":18}]=============== JSONArray to ArrayList(方式 1) ================ stundet info: Student{name='John', age=16, gender='boy'} stundet info: Student{name='Lily', age=17, gender='girl'} stundet info: Student{name='Jack', age=18, gender='boy'}=============== JSONArray to ArrayList(方式 2) ================ stundet info: Student{name='John', age=16, gender='boy'} stundet info: Student{name='Lily', age=17, gender='girl'} stundet info: Student{name='Jack', age=18, gender='boy'}=============== JSONArray to ArrayList(方式 3) ================ stundet info: Student{name='John', age=16, gender='boy'} stundet info: Student{name='Lily', age=17, gender='girl'} stundet info: Student{name='Jack', age=18, gender='boy'}=============== JSONArray to ArrayList(方式 4) ================ stundet info: Student{name='John', age=16, gender='boy'} stundet info: Student{name='Lily', age=17, gender='girl'} stundet info: Student{name='Jack', age=18, gender='boy'}=============== JSONArray to ArrayList(方式 5) ================ stundet info: Student{name='John', age=16, gender='boy'} stundet info: Student{name='Lily', age=17, gender='girl'} stundet info: Student{name='Jack', age=18, gender='boy'}=============== JSONArray to ArrayList(方式 6) ================ stundet info: Student{name='John', age=16, gender='boy'} stundet info: Student{name='Lily', age=17, gender='girl'} stundet info: Student{name='Jack', age=18, gender='boy'}=============== JSONArray to ArrayList(方式 7) ================ stundet info: Student{name='John', age=16, gender='boy'} stundet info: Student{name='Lily', age=17, gender='girl'} stundet info: Student{name='Jack', age=18, gender='boy'}
Java 语言 ArrayList 和 JSONArray 相互转换相关推荐
- Java语言 List 和 Array 相互转换
import java.util.ArrayList; import java.util.Arrays; import java.util.List;/*** List集合 转换为 Array数组*/ ...
- 《JAVA语言程序设计-YDL-李娜-机械工业出版社-原书第八版》笔记
2019独角兽企业重金招聘Python工程师标准>>> 目录:硬件-程序-选择-循环-方法-数组-对象和类-继承多态-多继承接口-IO-异常-递归 计算机是通过程序设计语言编写的软件 ...
- Java语言的基础知识9
第十一章(线程) 1.通过String name=Thread.currentThread().getName();来获取当前线程的名称. 2.多次启动一个线程或者启动一个已经运行的线程是非法的,会抛 ...
- “坑爹”排行榜:Java语言最违反常识的功能点TOP 10
来自:互联网全栈架构 作为一门面向对象的编程语言,Java凭借其简单易用.功能强大的特点受到了广大编程爱好者的青睐,伴随着开源社区的推波助澜,Java语言更是席卷全球,势不可挡,在世界各地都有Java ...
- 探索Java语言与JVM中的Lambda表达式
2019独角兽企业重金招聘Python工程师标准>>> 转载来源:http://www.admin10000.com/document/1291.html Lambda表达式是自Ja ...
- java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...
基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...
- Java 语言中十大“坑爹”功能!
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源:https://www.sohu.com/a/35 ...
- 使用Java语言从零开始创建区块链
使用Java语言从零开始创建区块链 2018年04月01日 17:08:12 大侠区块链 阅读数:1312 标签: java区块链java区块链 更多 个人分类: 区块链 Java区块链开发与交流群: ...
- web开发的java语言步骤_java web开发入门一(servlet和jsp)基于eclispe
servlet 用java语言开发动态资源网站的技术,在doGet方法中拼接显示html,在doPost方法中提交数据.类似于.net的ashx技术. servlet生成的class文件存放在tomc ...
最新文章
- MediaInfo+c#获取视频码率
- python安装完后无法打开运行_安装Python完成后无法正确运行
- 灵魂拷问,上 Kubernetes 有什么业务价值?
- Intel Realsense C/C++ 转 python (1)rs-hello-realsense 获取摄像头正中心对应的深度数据 get_distance()
- JAVA之关于This的用法
- LINQ中的Lambda表达式
- java当月最后一天_Java日期循环,Java获取当月的第一天和最后一天 | 学步园
- vivo V15 Pro渲染图曝光 弹出式摄像头后置三摄
- html 中写注释吗,html怎么注释?
- memcached的安装(server、client)、magent整合
- WDCP(WDlinux Control Panel) mysql/add_user.php、mysql/add_db.php Authentication Loss
- 程序员常用的数学公式
- 使用Excel内置控件生成二维码
- 山石岩读丨前沿领域探析——汽车CAN总线协议详解及攻击面分析
- 前端关系图谱插件_前端拓扑图插件选型对比
- Macropodus 新词发现详解(new word discovery, python3)
- ups机房动环监控系统方案
- 干货分享丨HDR 技术产品实践与探索
- Ubuntu lightdm无法启动解决办法
- oracle求累积收益率,解决报表sql中的累计收益率问题?换个姿势,再来一次~
热门文章
- python的celery的面试_python面试基础题总结
- 如何快速搭建一个属于自己的网站?
- linux下scrapy安装教程,linux centos7安装scrapy
- Leetcode每日一题:976.largest-perimeter-triangle(三角形的最大周长)
- Python学习相关文档
- c++ 输出二进制_Q音直播编译优化与二进制集成方案
- Docker容器镜像删除不掉解决办法?
- 收集的一些好的网址[持续更新]
- android开发realm多线程操作,数据库的设计:深入理解 Realm 的多线程处理机制
- asp代码在dwearwear转换成html格式怎么转,为前端而生的编辑器Brackets及配置推荐