Java @JsonIgnore不在其他环境中工作
这是我使用@JsonIgnore的bean类。我的测试用例通过了,在本地环境的JSON中没有看到catColor,但在开发环境中,我仍然能够在JSON中看到catColor。如果我必须对代码进行任何更改,或者我应该检查环境中的任何内容,请告诉我 JSON:Java @JsonIgnore不在其他环境中工作,java,json,spring,jackson,Java,Json,Spring,Jackson,这是我使用@JsonIgnore的bean类。我的测试用例通过了,在本地环境的JSON中没有看到catColor,但在开发环境中,我仍然能够在JSON中看到catColor。如果我必须对代码进行任何更改,或者我应该检查环境中的任何内容,请告诉我 JSON: {"catName":"","catEyes":"","catDetails":"","catColor":"" } CatBean.java import com.fasterxml.jackson.annotation.Jso
{"catName":"","catEyes":"","catDetails":"","catColor":"" }
CatBean.java
import com.fasterxml.jackson.annotation.JsonIgnore;
@XmlRootElement
@SuppressWarnings("PMD")
public class CatBean {
private String catName;
private String catEyes;
private String catDetails;
public String getCatName(){
return catName;
}
public void setCatName(String catName){
this.catName=catName;
}
public String getCatEyes(){
return catEyes;
}
public void setCatEyes(String catEyes){
this.catEyes=catEyes;
}
public String getCatDetails(){
return catDetails;
}
public void setCatDetails(String catDetails){
this.catDetails=catDetails;
}
@JsonIgnore
public String getCatColor() {
return getCatDetails(catColor);
}
}
CatDetails.java
public class CatDetails {
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
我没有定义为catColor
的字段。我正在本地和开发中使用Java7
和Gradle4.10.3
它在本地工作,但在开发中不工作。我编写了一个JUNIT测试用例来测试JSON
(检查正在创建的JSON的测试用例)
你能给我们多一点输入吗?比如:给我们看完整的文件和错误…没有错误。但是我能够看到正在创建的JSON中的字段。我将在这里添加整个文件。当我复制并粘贴您的代码时,它已经没有编译。你能修改你的代码使它变得真实吗?值得检查一下,是否在开发环境中部署了完全相同的代码
build.gradle ( Gradle imports)
compile 'com.fasterxml.jackson.core:jackson-databind:2.9.9.1'
compile 'com.fasterxml.jackson.core:jackson-core:2.9.9'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.9'
@Test
public void testJsonResponseNotContainingCardPresent() throws HostAuthException, ISOParseException, ParseException, IOException {
CatBean catBean= new CatBean();
ObjectMapper mapper = new ObjectMapper();
String catBeanAsString = Mapper.writeValueAsString(catBean);
assertThat(requestBeanAsString,not(containsString("catColor")));
}