一、准备

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字符串对象互转相关推荐

  1. 【实用】Java对象与JSON字符串的互转,实用操作!

    最近,工作中会涉及到Java对象与JSON字符串相互转换,虽然说并不难,但打算还是梳理一番,主要内容有: JSON 字符串 转 普通对象 普通对象 转 JSON 字符串 JSON 字符串数组 转 Li ...

  2. Java中普通字符串转json_java普通对象和json字符串的互转

    一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: 现在java对象转换为json形式: 定义了一个Student的实体类,然后分别使用了JS ...

  3. Jackson使用:String 与对象互转、Jackson 从 json 字符串转换出对象

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.从json字符串转换出对象 Pager类: import com.fasterxml.jacks ...

  4. js对象(Object)和字符串(String)互转 - 代码篇

    文章目录 js对象(Object)和字符串(String):相互转化 1. 利用原生JSON对象,将对象转为字符串 截图如下: 2. 从JSON字符串转为对象 相关文章:[localstorage本地 ...

  5. 使用fastJson把对象转字符串首字母大小写问题的解决

    使用fastJson把对象转字符串首字母大小写问题的解决 参考文章: (1)使用fastJson把对象转字符串首字母大小写问题的解决 (2)https://www.cnblogs.com/zeropc ...

  6. net.sf.json.JSONObject实现Object对象与Json字符串的互转

    前面看了Jackson实现Object对象与Json字符串的互转,下面来看下net.sf.json.JSONObject实现Object对象与Json字符串的互转. JSONUtil.java pac ...

  7. java集合转字符串拼接_关于集合和字符串的互转实现方法

    今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.stringutils; 有这么一个简单的方法:string s ...

  8. JSON 和 JavaScript 对象互转

    JSON 和 JavaScript 对象互转 要实现从JSON字符串转换为JavaScript 对象,使用 JSON.parse() 方法: var obj = JSON.parse('{" ...

  9. JSON 和 JS 对象互转

    JSON 和 JS 对象互转 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: var json = JSON.stringify({a: 'Hello', b: ...

最新文章

  1. 黑龙江专科大学计算机专业,黑龙江10大最好的专科学校,有你心仪的学校吗?...
  2. 服务器开发修改用户密码功能,更改服务器用户密码
  3. Spring Boot 2.0(三):Spring Boot 开源软件都有哪些?
  4. 征战蓝桥 —— 2016年第七届 —— C/C++A组第10题——最大比例
  5. vfs管理下的linux文件系统
  6. C语言中的指针有什么作用
  7. Linux C简单日志打印代码示例
  8. 非常实用的设计类导航
  9. 58、什么是断言?应用场景?
  10. 顶级黑客整理的588本编程电子书,整整46个G,你想学的都有
  11. C#之调用大华工业相机SDK采集图像并在Halcon窗口中显示
  12. Java POI 拆分excel单元格并填充内容
  13. 计算机主机异常经常蓝屏,电脑蓝屏怎么解决?电脑蓝屏几个常见的原因及解决办法...
  14. win10安装apache环境
  15. JAVA毕业设计共享充电宝管理系统演示录像2021计算机源码+lw文档+系统+调试部署+数据库
  16. 考试系统服务器 倒计时,考试系统倒计时实现
  17. 工控领域为什么需要OPC,OPC是什么?
  18. 什么是数字孪生?数字孪生技术有没有真正的实用价值?
  19. 码云 gitee 下载压缩包 未知文件格式 解压错误?像极了 Github
  20. 华为HG255d二级级联路由时上下级互访解决

热门文章

  1. IDEA快捷键CTRL+ALT+L格式化失效
  2. nginx 配置优化的几个参数
  3. 微信小程序---JavaScript脚本
  4. 淘宝电商api接口获取商品评论
  5. vue input file 上传图片
  6. MOSFET反向恢复特性总结-4
  7. 笔记本不能用无线网策略服务器,笔记本不能上网的解决方法适用于使用无线路由器上网...
  8. 扫描工具-Arachni
  9. Redis新版本发布,你还认为Redis是单线程?
  10. STM32F103频率计