Fastjson 序列化:如何使用 SerializerFeature.QuoteFieldNames 控制字段名引号
SerializerFeature.QuoteFieldNames 是 Fastjson 中的一个序列化特性,用于控制是否将字段名用单引号括起来,默认情况下字段名是被单引号括起来的。
在使用 Fastjson 进行序列化时,可以通过以下方式开启或关闭该特性:
开启特性:
JSONObject.toJSONString(obj, SerializerFeature.QuoteFieldNames);
关闭特性:
JSONObject.toJSONString(obj, SerializerFeature.QuoteFieldNames, false);
其中,第一个参数是要序列化的对象,第二个参数是要开启或关闭的特性,第三个参数表示是否美化输出,默认为 false。
示例:
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class QuoteFieldNamesExample {
public static void main(String[] args) {
User user = new User();
user.setName('Alice');
user.setAge(18);
String json1 = JSONObject.toJSONString(user); // {'age':18,'name':'Alice'}
String json2 = JSONObject.toJSONString(user, SerializerFeature.QuoteFieldNames); // {'age':18,'name':'Alice'}
System.out.println(json1);
System.out.println(json2);
}
}
class User {
private String name;
private int age;
// getters and setters
}
从上面的示例可以看出,开启或关闭该特性对序列化结果没有影响,因为 Fastjson 默认会将字段名用单引号括起来。
原文地址: https://www.cveoy.top/t/topic/nvLO 著作权归作者所有。请勿转载和采集!