有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

为什么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) 个答案

  1. # 1 楼答案

    如果您使用的是Spring Boot,那么它在内部某处使用Jackson将您的对象转换为json字符串

    您可以深入研究ObjectMapper类的逻辑,但其思想是它遵循JavaBeans convention来访问字段并获得结果命名

    因此,对于名为“isSth”(via method object.isSth())的布尔属性,它实际上代表json的一个字段“sth”。如果要在json中严格设置字段的名称,请使用@JsonProperty注释