大佬教程收集整理的这篇文章主要介绍了从Spring MVC作为JSON发送时动态忽略Java对象中的字段,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
将@JsonIgnorePropertIEs("fIEldname")
注释添加到您的POJO。
或者,您可以@JsonIgnore
在反序列化JsON时在要忽略的字段名称之前使用。例:
@JsonIgnore
@JsonProperty(value = "user_password")
public String getUserpassword() {
return userpassword;
}
GitHub范例
我有这样的模型类,用于hibernate
@Entity
@Table(name = "user",catalog = "userdb")
@JsonIgnoreProperties(ignoreUnknown = truE)
public class User implements java.io.serializable {
private Integer userId;
private String userName;
private String emailId;
private String encryptedPwd;
private String createdby;
private String updatedBy;
@Id
@GeneratedValue(strategy = IDENTITY)
@column(name = "UserId",unique = true,nullable = falsE)
public Integer getUserId() {
return thiS.UserId;
}
public void setUserId(Integer userId) {
thiS.UserId = userId;
}
@column(name = "UserName",length = 100)
public String getUserName() {
return this.username;
}
public void setUserName(String userName) {
this.username = userName;
}
@column(name = "EmailId",nullable = false,length = 45)
public String getEmailId() {
return this.emailId;
}
public void setEmailId(String emailId) {
this.emailId = emailId;
}
@column(name = "EncryptedPwd",length = 100)
public String getEncryptedPwd() {
return this.encryptedPwd;
}
public void setEncryptedPwd(String encryptedPwd) {
this.encryptedPwd = encryptedPwd;
}
public void setcreatedby(String createdby) {
this.createdby = createdby;
}
@column(name = "updatedBy",length = 100)
public String getupdatedBy() {
return this.updatedBy;
}
public void setupdatedBy(String updatedBy) {
this.updatedBy = updatedBy;
}
}
在Spring MVC控制器中,使用DAO,我可以获取对象。并返回为JSON对象。
@Controller
public class UserController {
@Autowired
private Userservice userservice;
@requestMapping(value = "/getUser/{userID}",method = requestMethod.GET)
@ResponseBody
public User getUser(@PathVariable Integer userId) throws Exception {
User user = userservice.get(userId);
user.setcreatedby(null);
user.setupdatedBy(null);
return user;
}
}
视图部分是使用AngularJS完成的,因此它将获得像这样的JSON
{
"userId" :2,"userName" : "john","emailId" : "john@gmail.com","encryptedPwd" : "Co7Fwd1fXYk=","createdby" : null,"updatedBy" : null
}
如果我不想设置加密的密码,则将该字段也设置为null。
但是我不想这样,我不想将所有字段发送到客户端。如果我不希望发送密码,updatedby,createdby字段,则我的结果JSON应该像
{
"userId" :2,"emailId" : "john@gmail.com"
}
我不想发送给其他数据库表的客户端的字段列表。因此,它将根据登录的用户进行更改。我该怎么做?
我希望你能回答我的问题。
以上是大佬教程为你收集整理的从Spring MVC作为JSON发送时动态忽略Java对象中的字段全部内容,希望文章能够帮你解决从Spring MVC作为JSON发送时动态忽略Java对象中的字段所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。