由于Spring中的对象可以获取子对象,但json输出的时候会一股脑全部输出。默认的sojo还问题不大,因为它只输出一层。而jsonlib可能就要报错了。
还好spring jsonView中提供了属性过滤的功能。
1.在xml中明确使用JsonConfigSupport
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView">
<property name="jsonWriter">
<ref bean="sojoJsonWriter" />
</property>
<property name="jsonErrors">
<list>
<ref bean="statusError" />
<ref bean="modelflagError" />
</list>
</property>
</bean>
<bean name="sojoJsonWriter"
class="org.springframework.web.servlet.view.json.writer.sojo.SojoJsonStringWriter">
[color=red]<property name="enableJsonConfigSupport">
<value>true</value>
</property>[/color]
</bean>
2.在代码中加入绑定
@InitBinder
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws Exception {
JsonWriterConfiguratorTemplateRegistry registry = JsonWriterConfiguratorTemplateRegistry
.load(request);
registry
.registerConfiguratorTemplate(new SojoJsonWriterConfiguratorTemplate() {
@Override
public SojoConfig getJsonConfig() {
SojoConfig config = new SojoConfig();
String[] excludes ={"roles"};
config.setExcludedProperties(excludes);
return config;
}
});
}
这样就可以了。jsonlib的差不多。
分享到:
相关推荐
struts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jarstruts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jar
使用json-lib实现json与Java对象的互转
我们的POJO使用@JsonView注解属性传递已经定义的视图。在Spring的Controller我们可以使用Jackson的@JsonView注解我们的方法。序列化Http响应体的时候,JSON响应将在配置视图的基础上进行过滤。我们也可以在Spring ...
spring源码缺失jar。spring-cglib-repack-3.2.5.jar,spring-objenesis-repack-2.6.jar
spring-boot-2.1.3.RELEASE.jar -autoconfigure- -devtools- -maven-plugin- -starter- -starter-jdbc- -starter-json- -starter-logging- -starter-test- -starter-tomcat- -starter-web- -test- -test-...
json-lib-ext-spring-1.0.2.jarjson-lib-ext-spring-1.0.2.jarjson-lib-ext-spring-1.0.2.jar
json基础jar包,包含json-lib-2.3-jdk15.jar源码
spring-aop-4.1.6.RELEASE.jar spring-aspects-4.1.6.RELEASE.jar spring-beans-4.1.6.RELEASE.jar spring-context-4.1.6.RELEASE.jar spring-context-support-4.1.6.RELEASE.jar spring-core-4.1.6.RELEASE.jar ...
spring-cloud-config + spring-cloud-bus-amqp实现分布式集群配置动态更新,可更新实例对象,包含源码包+Rabbitmq安装包和安装说明
java运行依赖jar包
spring-context-3.2.4.RELEASE.jar spring-core-3.2.4.RELEASE.jar spring-beans-3.2.4.RELEASE.jar spring-test-3.2.4.RELEASE.jar spring-web-3.2.4.RELEASE.jar spring-aop-3.2.4.RELEASE.jar spring-webmvc-...
Spring-data-redis 1.7.6 & source源码
struts2-spring-plugin-2.0.6.jar
java运行依赖jar包
2018-02-08从git_hub上拉取的Spring源码打成的jar,构建Spring-beans5.0以上源码所缺失的两个jar包spring-cglib-repack-3.2.6.jar,spring-objenesis-repack-2.6.jar
spring data jpa的包。spring-data-commons-1.8.0.RELEASE.jar
spring-context-support-4.0.0.M2.jar 需要用到的可以下载
json-lib-2.4-jdk15和全部依赖jar包 所需要的开发工具
spring-data-redis-1.6.2.RELEASE.jar,官网文档,免费提供,亲测可用
json-lib-2.4-jdk15.jar commons-lang-2.6.jar commons-beanutils.jar