使用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

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值