使用fastjson字符串对象互转
一、准备
1、导入fastjson包
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version>
</dependency>
2、创建测试对象
animal对象:
import lombok.Data;
import lombok.ToString;@Data
@ToString
public class Animal {private String name;private Integer age;
}
Zoo对象:
import lombok.Data;
import lombok.ToString;import java.util.ArrayList;
import java.util.List;@Data
@ToString
public class Zoo {private String name;private List<Animal> animalList = new ArrayList<>();}
二、开始数据类型转换
1、对象转json
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);
System.out.println("dog对象转json之前:" + dog);
String dogJson = JSON.toJSONString(dog);
System.out.println("dog对象转json之后:" + dogJson);
输出结果:
2、json转对象
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);
String dogJson = JSON.toJSONString(dog);
Animal parseDog = JSON.parseObject(dogJson, Animal.class);
System.out.println("json转对象,parseDog:" + parseDog);
输出结果:
3、list对象转json
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);List<Animal> animalList = new ArrayList<>();
animalList.add(dog);
animalList.add(cat);
String jsonString = JSON.toJSONString(animalList);
System.out.println("list对象转json jsonString:" + jsonString);
输出结果:
4.1 json转list (方法一)
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);List<Animal> animalList = new ArrayList<>();
animalList.add(dog);
animalList.add(cat);
String jsonString = JSON.toJSONString(animalList);
List<Animal> arrayList = JSON.parseArray(jsonString, Animal.class);
System.out.print("json转list对象:");
arrayList.forEach(System.out::print);
输出结果:
4.2 json转list (方法二)
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);List<Animal> animalList = new ArrayList<>();
animalList.add(dog);
animalList.add(cat);
String jsonString = JSON.toJSONString(animalList);
System.out.print("json转list对象:");
List<Animal> animals = JSON.parseObject(jsonString,new TypeReference<List<Animal>>(){});
animals.forEach(System.out::print);
输出结果:
5、Java复杂对象(含list对象集合)转json
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);Zoo zoo = new Zoo();
zoo.setName("tianjingdihua");
zoo.getAnimalList().add(dog);
zoo.getAnimalList().add(cat);
String zonJson = JSON.toJSONString(zoo);
System.out.println("zoo对象转json之后:" + zonJson);
输出结果:
6、json转Java复杂对象(含list对象集合)
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);Zoo zoo = new Zoo();
zoo.setName("tianjingdihua");
zoo.getAnimalList().add(dog);
zoo.getAnimalList().add(cat);
String zonJson = JSON.toJSONString(zoo);Zoo parseZoo = JSON.parseObject(zonJson, Zoo.class);
System.out.println("json转Java复杂对象parseZoo:" + parseZoo);
输出结果:
7、map转json
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);Map<String, Animal> map = new HashMap<>();
map.put("dog", dog);
map.put("cat", cat);
String json = JSON.toJSONString(map, true);
System.out.println("map转json:" + json);
输出结果prettyForm:
8、json转map
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);Map<String, Animal> map = new HashMap<>();
map.put("dog", dog);
map.put("cat", cat);
String json = JSON.toJSONString(map, true);
Map<String, Animal> animalMap = (Map<String, Animal>)JSON.parse(json);
animalMap.entrySet().forEach(entry -> System.out.println("key:value = " + entry.getKey() + ":" + entry.getValue()));
输出结果:
9、数组转json
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);Animal[] animals = new Animal[2];
animals[0] = dog;
animals[1] = cat;String jsonString = JSON.toJSONString(animals);
System.out.println("数组转json jsonString:" + jsonString);
输出结果:
10、json转对象列表
Animal dog = new Animal();
dog.setName("dog");
dog.setAge(1);Animal cat = new Animal();
cat.setName("cat");
cat.setAge(1);Animal[] animals = new Animal[2];
animals[0] = dog;
animals[1] = cat;String jsonString = JSON.toJSONString(animals);
List<Animal> animalList = JSON.parseArray(jsonString, Animal.class);
System.out.println("animalList:" + animalList);
输出结果:
Mark
使用fastjson字符串对象互转相关推荐
- 【实用】Java对象与JSON字符串的互转,实用操作!
最近,工作中会涉及到Java对象与JSON字符串相互转换,虽然说并不难,但打算还是梳理一番,主要内容有: JSON 字符串 转 普通对象 普通对象 转 JSON 字符串 JSON 字符串数组 转 Li ...
- Java中普通字符串转json_java普通对象和json字符串的互转
一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: 现在java对象转换为json形式: 定义了一个Student的实体类,然后分别使用了JS ...
- Jackson使用:String 与对象互转、Jackson 从 json 字符串转换出对象
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.从json字符串转换出对象 Pager类: import com.fasterxml.jacks ...
- js对象(Object)和字符串(String)互转 - 代码篇
文章目录 js对象(Object)和字符串(String):相互转化 1. 利用原生JSON对象,将对象转为字符串 截图如下: 2. 从JSON字符串转为对象 相关文章:[localstorage本地 ...
- 使用fastJson把对象转字符串首字母大小写问题的解决
使用fastJson把对象转字符串首字母大小写问题的解决 参考文章: (1)使用fastJson把对象转字符串首字母大小写问题的解决 (2)https://www.cnblogs.com/zeropc ...
- net.sf.json.JSONObject实现Object对象与Json字符串的互转
前面看了Jackson实现Object对象与Json字符串的互转,下面来看下net.sf.json.JSONObject实现Object对象与Json字符串的互转. JSONUtil.java pac ...
- java集合转字符串拼接_关于集合和字符串的互转实现方法
今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.stringutils; 有这么一个简单的方法:string s ...
- JSON 和 JavaScript 对象互转
JSON 和 JavaScript 对象互转 要实现从JSON字符串转换为JavaScript 对象,使用 JSON.parse() 方法: var obj = JSON.parse('{" ...
- JSON 和 JS 对象互转
JSON 和 JS 对象互转 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: var json = JSON.stringify({a: 'Hello', b: ...
最新文章
- 黑龙江专科大学计算机专业,黑龙江10大最好的专科学校,有你心仪的学校吗?...
- 服务器开发修改用户密码功能,更改服务器用户密码
- Spring Boot 2.0(三):Spring Boot 开源软件都有哪些?
- 征战蓝桥 —— 2016年第七届 —— C/C++A组第10题——最大比例
- vfs管理下的linux文件系统
- C语言中的指针有什么作用
- Linux C简单日志打印代码示例
- 非常实用的设计类导航
- 58、什么是断言?应用场景?
- 顶级黑客整理的588本编程电子书,整整46个G,你想学的都有
- C#之调用大华工业相机SDK采集图像并在Halcon窗口中显示
- Java POI 拆分excel单元格并填充内容
- 计算机主机异常经常蓝屏,电脑蓝屏怎么解决?电脑蓝屏几个常见的原因及解决办法...
- win10安装apache环境
- JAVA毕业设计共享充电宝管理系统演示录像2021计算机源码+lw文档+系统+调试部署+数据库
- 考试系统服务器 倒计时,考试系统倒计时实现
- 工控领域为什么需要OPC,OPC是什么?
- 什么是数字孪生?数字孪生技术有没有真正的实用价值?
- 码云 gitee 下载压缩包 未知文件格式 解压错误?像极了 Github
- 华为HG255d二级级联路由时上下级互访解决