使用FastJSON,将对象或数组和JSON串互转
2024-10-18 23:29:57
Fastjson,是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库。
其开源的下载网址为:https://github.com/AlibabaTech/fastjson。
示例代码如下:
- package test;
- import java.util.ArrayList;
- import java.util.List;
- import com.alibaba.fastjson.JSON;
- class User {
- private String name;
- private int age;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- @Override
- public String toString() {
- return "User [name=" + name + ", age=" + age + "]";
- }
- };
- class UserGroup {
- private String name;
- private List<User> users = new ArrayList<User>();
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public List<User> getUsers() {
- return users;
- }
- public void setUsers(List<User> users) {
- this.users = users;
- }
- @Override
- public String toString() {
- return "UserGroup [name=" + name + ", users=" + users + "]";
- }
- }
- class FastJsonTest {
- public static void main(String[] args) {
- // 构建用户geust
- User guestUser = new User();
- guestUser.setName("guest");
- guestUser.setAge(28);
- // 构建用户root
- User rootUser = new User();
- rootUser.setName("root");
- guestUser.setAge(35);
- // 构建用户组对象
- UserGroup group = new UserGroup();
- group.setName("admin");
- group.getUsers().add(guestUser);
- group.getUsers().add(rootUser);
- // 用户组对象转JSON串
- String jsonString = JSON.toJSONString(group);
- System.out.println("jsonString:" + jsonString);
- // JSON串转用户组对象
- UserGroup group2 = JSON.parseObject(jsonString, UserGroup.class);
- System.out.println("group2:" + group2);
- // 构建用户对象数组
- User[] users = new User[2];
- users[0] = guestUser;
- users[1] = rootUser;
- // 用户对象数组转JSON串
- String jsonString2 = JSON.toJSONString(users);
- System.out.println("jsonString2:" + jsonString2);
- // JSON串转用户对象列表
- List<User> users2 = JSON.parseArray(jsonString2, User.class);
- System.out.println("users2:" + users2);
- }
- }
输出如下:
- jsonString:{"name":"admin","users":[{"age":35,"name":"guest"},{"age":0,"name":"root"}]}
- group2:UserGroup [name=admin, users=[User [name=guest, age=35], User [name=root, age=0]]]
- jsonString2:[{"age":35,"name":"guest"},{"age":0,"name":"root"}]
- users2:[User [name=guest, age=35], User [name=root, age=0]]
最新文章
- 开大你的音响,感受HTML5 Audio API带来的视听盛宴
- C#创建DBF自由库 [转]
- BestCoder37 1001.Rikka with string 解题报告
- 更改Windows控制台默认缓冲区行数和宽度
- <;十二>;面向对象分析之UML核心元素之节点和设备
- Html简单demo_html列表中进行编辑操作
- MySQL - 日志管理
- C - Building a Space Station - poj 2031
- Facebook开源的基于SQL的操作系统检测和监控框架:osquery
- Axure学习笔记(一)
- SpringCloud(2) 服务注册和发现Eureka Server
- 【架构设计】Android:配置式金字塔架构
- Log4j日志框架学习零到壹(一)
- 超详细Gitlab Runner环境配置中文教程
- get_or_create函数
- java问题排查工具之一板斧jstack——使用 jstack 定位 java进程CPU过高的问题
- 三张图让你高速明确activity与fragment生命周期的异同点
- Lua中的注释
- Spark2.x学习笔记:Spark SQL程序设计
- 奇葩问题:ListView中Item与Item中的Button不能单击问题