fastjson 反序列化 空字符串报错
时间: 2024-04-19 15:20:05 浏览: 11
fastjson是一个Java语言编写的高性能JSON处理库,它提供了丰富的功能和灵活的API,可以方便地进行JSON的序列化和反序列化操作。
在fastjson中,当进行反序列化操作时,如果遇到空字符串(""),会抛出异常。这是因为fastjson默认情况下不支持将空字符串转换为Java对象,而是期望一个有效的JSON值。
如果你想要在反序列化时忽略空字符串,可以通过配置fastjson的特性来实现。具体做法是使用`Feature.IgnoreEmptyString`特性,示例如下:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.Feature;
public class FastJsonDemo {
public static void main(String[] args) {
String jsonString = "{\"name\":\"Alice\",\"age\":\"\"}";
// 设置忽略空字符串特性
JSON.parseObject(jsonString, User.class, Feature.IgnoreEmptyString);
// 此时不会抛出异常
}
}
class User {
private String name;
private int age;
// 省略getter和setter方法
}
```
通过设置`Feature.IgnoreEmptyString`特性,fastjson会在反序列化时忽略空字符串,并将其转换为默认值或者null。