fastjson的parseobject解析继承类
时间: 2024-09-25 20:01:46 浏览: 19
Fastjson是一个由阿里巴巴开源的高性能 Java JSON 库,它支持将 JSON 字符串转换成对应的 Java 对象。当你有一个继承自某个基类的对象数组,而这个数组中包含子类的实例,并且这些子类都重写了基类的某些属性或方法,你可以使用 Fastjson 的 `parseObject` 或 `fromJson` 方法解析 JSON 过程中自动处理这种继承关系。
例如,假设你有这样一个结构:
```java
public abstract class Animal {
private String name;
// getter and setter...
}
public class Dog extends Animal {
private int age;
}
// JSON字符串
String json = "{\"name\":\"Doggy\",\"age\":5}";
```
你可以这样解析:
```java
List<Animal> animals = new ArrayList<>();
animals.add(Fastjson.parseObject(json, Dog.class)); // 解析为 Dog 对象,因为指定了 Dog 类型
Dog dog = (Dog) animals.get(0); // 需要注意强转类型,因为默认解析的是 Animal
System.out.println(dog.getName()); // 输出 "Doggy"
System.out.println(dog.getAge()); // 输出 5
```
阅读全文