controller返回json数据,过滤属性

User user = new User();
user.setId(1L);
user.setAge(12);
user.setName("zhangsan");
user.setBirthDate(new Date());
String jsonString1 = JSON.toJSONString(user);
System.out.println(jsonString1);

SimplePropertyPreFilter filter = new SimplePropertyPreFilter(User.class, "na", "address");
String jsonString2 = JSON.toJSONString(user, filter);
System.out.println(jsonString2);

输出结果

{"id":1,"na":"zhangsan","address":null,"birthDate":"2018-01-08  14:24:28"}
{"na":"zhangsan","address":null}

上面是在代码中体现的过滤数据,下面直接使用注解

1.@JSONField(serialize = false)

2.@JsonIgnore 

 

当AJAX请求从Apache Tomcat 7.0.109的本地环境返回中文正常,但在服务器上返回中文乱码,可能是以下几个原因造成的: 1. **服务器端编码设置**: - 检查服务器的web.xml文件中的 `<Connector>` 标签,确认`encoding` 属性是否设置为UTF-8,比如 `encoding="UTF-8"`。如果没有,你需要修改它。 2. **响应头设置**: - 在Servlet或Controller中,确保设置了正确的Content-Type响应头,例如: ``` response.setContentType("application/json;charset=UTF-8"); ``` 这将告诉客户端响应体是UTF-8编码的JSON数据。 3. **跨域问题**: - 如果是跨域访问,服务器可能需要启用CORS,允许特定来源的请求携带字符编码信息。 4. **数据传输过程**: - 检查是否在中间层如过滤器、拦截器或者数据处理阶段改变了字符集。确保每个环节都使用了正确的编码。 5. **连接池配置**: - 可能是连接池配置问题,比如DBCP或C3P0,需检查它们对字符集的支持情况。 6. **服务器环境变量**: - 检查操作系统和Java运行环境中的字符集设置,如JAVA_OPTS中的 `-Dfile.encoding=UTF-8`。 7. **浏览器缓存影响**: - 清除浏览器缓存,看看是否因为缓存了错误的内容。 在排查问题时,可以在服务器端打印输出的JSON数据,确认其内容是否已经被正确地转换成了UTF-8。同时,检查前端处理数据的JavaScript部分,确保正确接收并解析UTF-8编码的文本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值