对象序列化时string转为json格式出现转义符号

1、描述

使用fastjson序列化java对象,当对象string类型的字段序列化json格式的值时,该序列化后的值出现\转义符号。

2、解决

给该字段设置自定义序列化类

2.1、实现序列化类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
* 序列化时将string转为json格式,避免出现\转义符号
* @author lenovo
*
*/
public class StringToJsonSerializer implements ObjectSerializer {

@Override
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType,
int features) throws IOException {
serializer.write(JSONObject.parseObject(object.toString()));
}

}

2.2、给字段指定序列化类

1
2
3
4
5
6
7
8
9
public class Activity {

private Integer id;
private String name;
@JSONField(serializeUsing=StringToJsonSerializer.class)
private String attendant;

// TODO
}
>