为什么Java会在JSON响应中截断前面的信息?
我有一个spring rest API,它从如下所示的响应类返回JSON响应:
public class myResponse {
private String anyString;
private boolean isBoolean;
//getters and setters
}
我希望JSON的响应是:
{
"anyString" : "foo",
"isBoolean" : true
}
然而,每当我检查浏览器以获得响应时,我都会得到:
{
"anyString" : "foo",
"boolean" : true
}
为什么前面的“is”被截断
# 1 楼答案
如果您使用的是Spring Boot,那么它在内部某处使用Jackson将您的对象转换为json字符串
您可以深入研究ObjectMapper类的逻辑,但其思想是它遵循JavaBeans convention来访问字段并获得结果命名
因此,对于名为“isSth”(via method object.isSth())的布尔属性,它实际上代表json的一个字段“sth”。如果要在json中严格设置字段的名称,请使用@JsonProperty注释