1. @JsonRawValue
1.1 @JsonRawValue注解作用
原样序列化:当你在某个字段上使用@JsonRawValue注解时,在序列化该字段时会保留其原始的JSON格式,不会对其内容进行转义处理。
1.2 示例
假设你有一个Java对象,其中包含一个JSON格式的字符串字段,你希望在序列化时能够保留这个字符串的JSON结构:
public class Demo{
private long id;
private String name;
@JsonRawValue
private String content;
// 构造函数、getter和setter省略
}
如果content字段包含如下值:
{
"title": "Report Title",
"description": "This is a report description."
}
在没有使用@JsonRawValue注解的情况下,序列化后的JSON可能会是这样的:
{
"id": 1,
"name": "Test Report",
"content": "{\"title\": \"Report Title\", \"description\": \"This is a report description.\"}"
}
注意到content字段的值被转义了,失去了JSON的结构。但是,如果你在content字段上使用了@JsonRawValue注解,序列化后的JSON将会保持content字段的JSON结构:
{
"id": 1,
"name": "Test Report",
"content": {
"title": "Report Title",
"description": "This is a report description."
}
}